Exemple #1
0
    def executer(self, *args):  # pragma: no cover
        """Execute remotely"""

        options = self.options

        try:
            # from dbmanagr import daemon
            # if not daemon.is_running(options):
            #     daemon.start_server(options)

            url = 'http://{host}:{port}/{path}'.format(
                host=options.host,
                port=options.port,
                path=COMMANDS[options.prog])
            request = json.dumps(args[1:])

            log.logger.debug('Request to %s:\n%s', url, request)

            response = urllib2.urlopen(url, request)

            for i in ijson.items(response, 'item'):
                yield from_json(i)
        except urllib2.HTTPError as e:
            raise from_json(json.load(e))
        except urllib2.URLError as e:
            log.logger.error('Daemon not available: %s', e)
        except BaseException as e:
            log.logger.exception(e)
Exemple #2
0
    def executer(self, *args):  # pragma: no cover
        """Execute remotely"""

        options = self.options

        try:
            # from dbmanagr import daemon
            # if not daemon.is_running(options):
            #     daemon.start_server(options)

            url = 'http://{host}:{port}/{path}'.format(
                host=options.host,
                port=options.port,
                path=COMMANDS[options.prog])
            request = json.dumps(args[1:])

            log.logger.debug('Request to %s:\n%s', url, request)

            response = urllib2.urlopen(url, request)

            for i in ijson.items(response, 'item'):
                yield from_json(i)
        except urllib2.HTTPError as e:
            raise from_json(json.load(e))
        except urllib2.URLError as e:
            log.logger.error('Daemon not available: %s', e)
        except BaseException as e:
            log.logger.exception(e)
Exemple #3
0
 def from_json(d):
     return RowItem(
         from_json(d['row']),
         from_json(d['include']),
         from_json(d['exclude']),
         from_json(d['substitutes'])
     )
Exemple #4
0
 def from_json(d):
     return Item(title=from_json(d['title']),
                 subtitle=from_json(d['subtitle']),
                 autocomplete=from_json(d['autocomplete']),
                 uid=from_json(d['uid']),
                 icon=from_json(d['icon']),
                 value=from_json(d['value']),
                 validity=from_json(d['validity']),
                 format_=from_json(d['format_']))
Exemple #5
0
 def from_json(d):
     return Item(
         title=from_json(d['title']),
         subtitle=from_json(d['subtitle']),
         autocomplete=from_json(d['autocomplete']),
         uid=from_json(d['uid']),
         icon=from_json(d['icon']),
         value=from_json(d['value']),
         validity=from_json(d['validity']),
         format_=from_json(d['format_'])
     )
Exemple #6
0
 def from_json(d):
     return Column(
         **from_json(
             filter_keys(
                 d,
                 'name', 'tablename', 'type', 'nullable', 'default',
                 'autoincrement', 'primary_key', 'autocomplete'
             )
         )
     )
Exemple #7
0
 def from_json(d):
     return Table(
         **from_json(
             filter_keys(
                 d,
                 'name', 'uri', 'owner', 'size', 'primary_key', 'columns',
                 'foreign_keys', 'autocomplete'
             )
         )
     )
Exemple #8
0
 def from_json(d):
     return TableNode(
         from_json(d['table']),
         from_json(d['indent'])
     )
Exemple #9
0
 def from_json(d):
     return ColumnNode(from_json(d['column']), from_json(d['indent']))
Exemple #10
0
 def from_json(d):
     return TableNode(from_json(d['table']), from_json(d['indent']))
Exemple #11
0
 def from_json(d):
     return Row(**from_json(filter_keys(d, 'table', 'row', 'autocomplete')))
Exemple #12
0
 def from_json(d):
     return Table(**from_json(
         filter_keys(d, 'name', 'uri', 'owner', 'size', 'primary_key',
                     'columns', 'foreign_keys', 'autocomplete')))
Exemple #13
0
 def from_json(d):
     return RowItem(
         from_json(d['row'])
     )
Exemple #14
0
 def from_json(d):
     return ColumnNode(from_json(d['column']), from_json(d['indent']))
Exemple #15
0
 def from_json(d):
     return NameNode(
         from_json(d['name']),
         from_json(d['indent'])
     )
Exemple #16
0
 def from_json(d):
     return ForeignKey(
         a=from_json(d.get('a')),
         b=from_json(d.get('b'))
     )
Exemple #17
0
    def test_from_json(self):
        """Tests the jsonable.from_json function"""

        self.assertEqual(None, jsonable.from_json(None))
        self.assertEqual({}, jsonable.from_json({}))
        self.assertEqual([], jsonable.from_json([]))

        self.assertEqual({'a': 1}, jsonable.from_json({'a': 1}))
        self.assertEqual([1], jsonable.from_json([1]))
        self.assertEqual([1], jsonable.from_json((1,)))

        from decimal import Decimal
        self.assertEqual(1, jsonable.from_json(Decimal(1)))
        self.assertEqual(1.1, jsonable.from_json(Decimal(1.1)))

        import datetime
        obj = datetime.datetime(2014, 5, 5)
        self.assertEqual(
            obj,
            jsonable.from_json({
                '__cls__': 'datetime.datetime',
                'value': obj.isoformat()
            })
        )
        self.assertEqual(
            obj,
            jsonable.from_json({
                '__cls__': 'datetime.datetime',
                'value': '2014-05-05T00:00:00.000'
            })
        )
        self.assertEqual(
            obj.date(),
            jsonable.from_json({
                '__cls__': 'datetime.date',
                'value': '2014-05-05'
            })
        )

        self.assertEqual(
            'a',
            jsonable.from_json({
                '__cls__': 'a.Exception',
                'message': 'a'
            }).message
        )

        from sqlalchemy.util import KeyedTuple
        self.assertEqual(
            KeyedTuple([1], labels=['a']),
            jsonable.from_json({
                '__cls__': 'sqlalchemy.util.KeyedTuple',
                '_labels': ['a'],
                'a': 1
            })
        )

        from dbmanagr.dto.node import NameNode
        self.assertEqual(
            NameNode('a'),
            jsonable.from_json({
                '__cls__': 'dbmanagr.dto.node.NameNode',
                'name': 'a',
                'indent': 0
            })
        )
Exemple #18
0
 def from_json(d):
     return RowItem(from_json(d['row']), from_json(d['include']),
                    from_json(d['exclude']), from_json(d['substitutes']))
Exemple #19
0
    def test_from_json(self):
        """Tests the jsonable.from_json function"""

        self.assertEqual(None, jsonable.from_json(None))
        self.assertEqual({}, jsonable.from_json({}))
        self.assertEqual([], jsonable.from_json([]))

        self.assertEqual({'a': 1}, jsonable.from_json({'a': 1}))
        self.assertEqual([1], jsonable.from_json([1]))
        self.assertEqual([1], jsonable.from_json((1, )))

        from decimal import Decimal
        self.assertEqual(1, jsonable.from_json(Decimal(1)))
        self.assertEqual(1.1, jsonable.from_json(Decimal(1.1)))

        import datetime
        obj = datetime.datetime(2014, 5, 5)
        self.assertEqual(
            obj,
            jsonable.from_json({
                '__cls__': 'datetime.datetime',
                'value': obj.isoformat()
            }))
        self.assertEqual(
            obj,
            jsonable.from_json({
                '__cls__': 'datetime.datetime',
                'value': '2014-05-05T00:00:00.000'
            }))
        self.assertEqual(
            obj.date(),
            jsonable.from_json({
                '__cls__': 'datetime.date',
                'value': '2014-05-05'
            }))

        self.assertEqual(
            'a',
            jsonable.from_json({
                '__cls__': 'a.Exception',
                'message': 'a'
            }).message)

        from sqlalchemy.util import KeyedTuple
        self.assertEqual(
            KeyedTuple([1], labels=['a']),
            jsonable.from_json({
                '__cls__': 'sqlalchemy.util.KeyedTuple',
                '_labels': ['a'],
                'a': 1
            }))

        from dbmanagr.dto.node import NameNode
        self.assertEqual(
            NameNode('a'),
            jsonable.from_json({
                '__cls__': 'dbmanagr.dto.node.NameNode',
                'name': 'a',
                'indent': 0
            }))
Exemple #20
0
 def from_json(d):
     return NameNode(from_json(d['name']), from_json(d['indent']))
Exemple #21
0
 def from_json(d):
     return Row(
         **from_json(filter_keys(d, 'table', 'row', 'autocomplete'))
     )
Exemple #22
0
 def from_json(d):
     return ForeignKeyNode(from_json(d['fk']), from_json(d['parent']),
                           from_json(d['indent']))
Exemple #23
0
 def from_json(d):
     return ForeignKeyNode(
         from_json(d['fk']),
         from_json(d['parent']),
         from_json(d['indent'])
     )