Example #1
0
                import_record(rec)
            instance.db.dbcommit()
        except Exception, e:
            instance.db.rollback()
            logging.exception(e)

    if operation in ('e', 'export'):
        qry = tbl.query(where=where)
        logging.info('%d records found', qry.count())

        pkey = tbl.pkey
        records = data.get(pkg_table) or Bag()
        for n, rec in enumerate(qry.fetch()):
            r = dict([(k, unicodeToUTF8String(v)) for k, v in rec.items()
                      if not k.startswith('__')])
            records.addItem(unicodeToUTF8String(r[pkey]), Bag(r))

        data.setItem(pkg_table, records)

        yaml.dump(data.asDictDeeply(), codecs.open(filename, 'wt', 'utf-8'))


def unicodeToUTF8String(maybe_unicode):
    if isinstance(maybe_unicode, unicode):
        return maybe_unicode.encode('utf-8')
    else:
        return maybe_unicode


if __name__ == '__main__':
    main.run()
Example #2
0
        import_record = tbl.insertOrUpdate if replace else tbl.insert
        try:
            for rec in data[pkg_table].values():
                import_record(rec)
            instance.db.dbcommit()
        except Exception, e:
            instance.db.rollback()
            logging.exception(e)

    if operation in ('e','export'):
        qry = tbl.query(where=where)
        logging.info('%d records found', qry.count())

        pkey = tbl.pkey
        records = data.get(pkg_table) or Bag()
        for n, rec in enumerate(qry.fetch()):
            r = dict([(k,unicodeToUTF8String(v)) for k,v in rec.items() if not k.startswith('__')])
            records.addItem(unicodeToUTF8String(r[pkey]), Bag(r))

        data.setItem(pkg_table, records)

        yaml.dump(data.asDictDeeply(), codecs.open(filename, 'wt','utf-8'))

def unicodeToUTF8String(maybe_unicode):
    if isinstance(maybe_unicode, unicode):
        return maybe_unicode.encode('utf-8')
    else:
        return maybe_unicode

if __name__ == '__main__':
    main.run()