~stolowski/phablet-extras/unity-lens-mock-new-api

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/env python
# encoding: utf-8
'''
 -- unity-lens-mock

 Reads a json file and starts a Unity lens / scope pair based on data in the file. 

@author:     MichaƂ Sawicz <michal.sawicz@canonical.com>
            
@copyright:  2013 Canonical. All rights reserved.
            
@license:    GPLv3

@contact:    michal.sawicz@canonical.com
'''

import sys
import os
import json

from optparse import OptionParser

from gi.repository import GObject

from mock.lens import MockLens

__all__ = []
__version__ = 0.1
__updated__ = '2013-01-30'

__program_name__ = os.path.basename(sys.argv[0])
__program_version__ = "v%s" % __version__
__program_build_date__ = "%s" % __updated__
__program_version_string__ = '%%prog %s (%s)' % (__program_version__, __program_build_date__)
__program_usage_string__ = 'usage: %prog [options] /path/to/file.json'

DEBUG = 1

if __name__ == "__main__":
    try:
        # setup option parser
        parser = OptionParser(
            version=__program_version_string__,
            usage=__program_usage_string__
        )
        
        # process options
        (opts, args) = parser.parse_args(sys.argv)
        
        if len(args) != 2:
            raise ValueError("provide a path to the json file")
    
    except Exception, e:
        indent = len(__program_name__) * " "
        sys.stderr.write(__program_name__ + ": " + repr(e) + "\n")
        sys.stderr.write(indent + "  for help use --help" + "\n")
        raise SystemExit(2)


    mockLens = MockLens(json.load(open(args[1]), encoding='utf-8'))

    GObject.MainLoop().run()