def stoccaggio_table(soup=None, op=None,dao=None, row=None, all=False):
    d = None
    if soup and not all:
        record = soup.stoccaggio.get(loads(row.object))
    else:
        record = row
    if op =="DELETE":
        if all:
            d = Stoccaggio().getRecord(id=row.id)
        else:
            d = Stoccaggio().getRecord(id=loads(row.object))
        if d:
            d.delete()
        return True
    elif op == "INSERT":
        if all:
            d = Stoccaggio()
            d.id = record.id
        else:
            d = Stoccaggio().getRecord(id=loads(row.object))
    elif op == "UPDATE":
        if all:
            d = Stoccaggio().getRecord(id=row.id)
        else:
            d = Stoccaggio().getRecord(id=loads(row.object))
    d.scorta_minima= record.scorta_minima
    d.livello_riordino = record.livello_riordino
    d.data_fine_scorte =record.data_fine_scorte
    d.data_prossimo_ordine = record.data_prossimo_ordine
    d.id_articolo = record.id_articolo
    d.id_magazzino = record.id_magazzino


    d.persist()
    return True
def sconti_vendita_dettaglio_table(soup=None, op=None, dao=None,rowLocale=None, row=None, all=False):
    d = None
    if soup and not all:
        record = soup.sconti_vendita_dettaglio.get(loads(row.object))
    else:
        record = row
    if op =="DELETE":
        if all:
            d = ScontoVenditaDettaglio().getRecord(id=row.id)
        else:
            d = ScontoVenditaDettaglio().getRecord(id=loads(row.object))
        if d:
            d.delete()
        return True
    elif op == "INSERT":
        if all:
            d = ScontoVenditaDettaglio()
            d.id = record.id
        else:
            d = ScontoVenditaDettaglio().getRecord(id=loads(row.object))
    elif op == "UPDATE":
        if all:
            d = ScontoVenditaDettaglio().getRecord(id=row.id)
        else:
            d = ScontoVenditaDettaglio().getRecord(id=loads(row.object))
        if not d:
            d = ScontoVenditaDettaglio()
            d.id = record.id
    d.id_listino = record.id_listino
    d.id_articolo = record.id_articolo
    d.data_listino_articolo = record.data_listino_articolo

    d.persist()
    return True
示例#3
0
def fornitore_table(soup=None, op=None,dao=None, row=None, all=False):
    d = None
    if soup and not all:
        record = soup.fornitore.get(loads(row.object))
    else:
        record = row
    if op =="DELETE":
        if all:
            d = Fornitore().getRecord(id=row.id)
        else:
            d = Fornitore().getRecord(id=loads(row.object))
        if d:
            d.delete()
        return True
    elif op == "INSERT":
        if all:
            d = Fornitore()
            d.id = record.id
        else:
            d = Fornitore().getRecord(id=loads(row.object))
    elif op == "UPDATE":
        if all:
            d = Fornitore().getRecord(id=row.id)
        else:
            d = Fornitore().getRecord(id=loads(row.object))
    d.id_categoria_fornitore = record.id_categoria_fornitore
    d.id_pagamento = record.id_pagamento
    d.id_magazzino = record.id_magazzino

    d.persist()
    return True
示例#4
0
    def test_query(self):
        q = Session.query(User).filter(User.name == "ed").options(eagerload(User.addresses))
        eq_(q.all(), [User(name="ed", addresses=[Address(id=2), Address(id=3), Address(id=4)])])

        q2 = serializer.loads(serializer.dumps(q, -1), users.metadata, Session)

        def go():
            eq_(q2.all(), [User(name="ed", addresses=[Address(id=2), Address(id=3), Address(id=4)])])

        self.assert_sql_count(testing.db, go, 1)

        eq_(q2.join(User.addresses).filter(Address.email == "*****@*****.**").value(func.count("*")), 1)

        u1 = Session.query(User).get(8)

        q = Session.query(Address).filter(Address.user == u1).order_by(desc(Address.email))
        q2 = serializer.loads(serializer.dumps(q, -1), users.metadata, Session)

        eq_(q2.all(), [Address(email="*****@*****.**"), Address(email="*****@*****.**"), Address(email="*****@*****.**")])

        q = Session.query(User).join(User.addresses).filter(Address.email.like("%fred%"))
        q2 = serializer.loads(serializer.dumps(q, -1), users.metadata, Session)
        eq_(q2.all(), [User(name="fred")])

        eq_(list(q2.values(User.id, User.name)), [(9, u"fred")])
示例#5
0
    def test_query_one(self):
        q = Session.query(User).\
                filter(User.name == 'ed').\
                    options(joinedload(User.addresses))

        q2 = serializer.loads(
                    serializer.dumps(q, -1),
                            users.metadata, Session)
        def go():
            eq_(q2.all(), [
                    User(name='ed', addresses=[Address(id=2),
                    Address(id=3), Address(id=4)])])

        self.assert_sql_count(testing.db, go, 1)

        eq_(q2.join(User.addresses).filter(Address.email
            == '*****@*****.**').value(func.count('*')), 1)
        u1 = Session.query(User).get(8)
        q = Session.query(Address).filter(Address.user
                == u1).order_by(desc(Address.email))
        q2 = serializer.loads(serializer.dumps(q, -1), users.metadata,
                              Session)
        eq_(q2.all(), [Address(email='*****@*****.**'),
            Address(email='*****@*****.**'),
            Address(email='*****@*****.**')])
def categoria_cliente_table(soup=None, op=None, dao=None, row=None, all=False):
    d = None
    if soup and not all:
        record = soup.categoria_cliente.get(loads(row.object))
    else:
        record = row
    if op =="DELETE":
        if all:
            d = CategoriaCliente().getRecord(id=row.id)
        else:
            d = CategoriaCliente().getRecord(id=loads(row.object))
        if d:
            d.delete()
        return True
    elif op == "INSERT":
        if all:
            d = CategoriaCliente()
            d.id = record.id
        else:
            d = CategoriaCliente().getRecord(id=loads(row.object))
    elif op == "UPDATE":
        if all:
            d = CategoriaCliente().getRecord(id=row.id)
        else:
            d = CategoriaCliente().getRecord(id=loads(row.object))
    d.descrizione = record.descrizione
    d.denominazione= record.denominazione
    d.active= record.active
    d.persist()
    return True
示例#7
0
def sconto_table(soup=None, op=None, dao=None,rowLocale=None, row=None, all=False):
    d = None
    if soup and not all:
        record = soup.sconto.get(loads(row.object))
    else:
        record = row
    if op =="DELETE":
        if all:
            d = Sconto().getRecord(id=row.id)
        else:
            d = Sconto().getRecord(id=loads(row.object))
        if d:
            d.delete()
        return True
    elif op == "INSERT":
        if all:
            d = Sconto()
            d.id = record.id
        else:
            d = Sconto().getRecord(id=loads(row.object))
    elif op == "UPDATE":
        if all:
            d = Sconto().getRecord(id=row.id)
        else:
            d = Sconto().getRecord(id=loads(row.object))
        if not d:
            d = Sconto()
            d.id = record.id
    d.valore = record.valore
    d.tipo_sconto= record.tipo_sconto
    d.persist()
    return True
def codice_a_barre_articolo_table(soup=None, op=None, dao=None, row=None, all=False):
    d = None
    if soup and not all:
        record = soup.codice_a_barre_articolo.get(loads(row.object))
    else:
        record = row
    if op =="DELETE":
        if all:
            d = CodiceABarreArticolo().getRecord(id=row.id)
        else:
            d = CodiceABarreArticolo().getRecord(id=loads(row.object))
        if d:
            d.delete()
        return True
    elif op == "INSERT":
        if all:
            d = CodiceABarreArticolo()
            d.id = record.id
        else:
            d = CodiceABarreArticolo().getRecord(id=loads(row.object))
    elif op == "UPDATE":
        if all:
            d = CodiceABarreArticolo().getRecord(id=row.id)
        else:
            d = CodiceABarreArticolo().getRecord(id=loads(row.object))
        if not d:
            d = CodiceABarreArticolo()
            d.id = record.id
    d.codice = record.codice
    d.id_articolo = record.id_articolo
    d.primario = record.primario

    d.persist()
    return True
示例#9
0
文件: loaddb.py 项目: tinawen/menu
def main(argv=sys.argv):
    if len(argv) != 2:
        usage(argv)
    config_uri = argv[1]
    setup_logging(config_uri)
    settings = get_appsettings(config_uri)
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.drop_all(engine)
    Base.metadata.create_all(engine)
#    delete_all()
    with transaction.manager:
        f = open("./db_backup.txt", 'r');
        serialized_data = pickle.load(f)
        serialized_menu_items = serialized_data["menu_items"]
        menu_items = loads(serialized_menu_items, Base.metadata, DBSession)
        print menu_items
        print "hello"
        for menu_item in menu_items:
            DBSession.merge(menu_item)
            print 'menu_item is %r'%menu_item
        print "hello done"
        serialized_allergens = serialized_data["allergens"]
        allergens = loads(serialized_allergens, Base.metadata, DBSession)
        for allergen in allergens:
            DBSession.merge(allergen)
        serialized_menus = serialized_data["menus"]
        menus = loads(serialized_menus, Base.metadata, DBSession)
        for menu in menus:
            DBSession.merge(menu)
示例#10
0
def listino_table(soup=None, op=None, dao=None, row=None, all=False):
    d = None
    if soup and not all:
        record = soup.listino.get(loads(row.object))
    else:
        record = row
    if op =="DELETE":
        if all:
            d = Listino().getRecord(id=[row.denominazione,row.data_listino])
        else:
            d = Listino().getRecord(id=loads(row.object))
        if d:
            d.delete()
        return True
    elif op == "INSERT":
        if all:
            d = Listino()
            d.id = record.id
        else:
            d = Listino().getRecord(id=loads(row.object))
    elif op == "UPDATE":
        if all:
            d = Listino().select(id=row.id)
            if d:
                d = d[0]
        else:
            d = Listino().getRecord(id=loads(row.object))
    d.denominazione = record.denominazione
    d.descrizione = record.descrizione
    d.data_listino= record.data_listino
    d.listino_attuale = record.listino_attuale
    d.visible= record.visible
    d.persist()
    return True
def listino_magazzino_table(soup=None, op=None, dao=None, row=None,all=False):
    d = None
    if soup and not all:
        record = soup.listino_magazzino.get(loads(row.object))
    else:
        record = row
    if op =="DELETE":
        if all:
            d = ListinoMagazzino().getRecord(id=[row.id_listino,row.id_magazzino])
        else:
            d = ListinoMagazzino().getRecord(id=loads(row.object))
        if d:
            d.delete()
        return True
    elif op == "INSERT":
        if all:
            d = ListinoMagazzino()
            d.id_listino = record.id_listino
            d.id_magazzino = record.id_magazzino
        else:
            d = ListinoArticolo().getRecord(id=loads(row.object))
    elif op == "UPDATE":
        if all:
            d = ListinoArticolo().getRecord(id=[row.id_listino,row.id_magazzino])
            #if d:
                #d = d[0]
        else:
            d = ListinoArticolo().getRecord(id=loads(row.object))
    d.persist()
    return True
示例#12
0
    def test_annotated_one(self):
        j = join(users, addresses)._annotate({"foo": "bar"})
        query = select([addresses]).select_from(
            j
        )

        str(query)
        for prot in pickle_protocols():
            pickled_failing = serializer.dumps(
                j, prot)
            serializer.loads(pickled_failing, users.metadata, None)
def listino_articolo_table(soup=None, op=None, dao=None, rowLocale=None, row=None, all=False):
    d = None
    if soup and not all:
        record = soup.listino_articolo.get(loads(row.object))
    else:
        record = row
    if op == "DELETE":
        if all:
            d = ListinoArticolo().getRecord(id=[row.id_articolo, row.id_listino, row.data_listino_articolo])
        else:
            d = ListinoArticolo().getRecord(id=loads(row.object))
        if d:
            d.delete()
        return True
    elif op == "INSERT":
        if all:
            d = ListinoArticolo()
            d.id_listino = record.id_listino
            d.id_articolo = record.id_articolo
            d.data_listino_articolo = record.data_listino_articolo
        else:
            d = ListinoArticolo().getRecord(id=loads(row.object))
    elif op == "UPDATE":
        if all:
            # d = ListinoArticolo().getRecord(id=[row.id_articolo,row.id_listino,row.data_listino_articolo])
            d = (
                Environment.params["session"]
                .query(ListinoArticolo)
                .get((row.id_articolo, row.id_listino, row.data_listino_articolo))
            )
        else:
            d = ListinoArticolo().getRecord(id=loads(row.object))
        if not d:
            d = ListinoArticolo()
            d.id_listino = record.id_listino
            d.id_articolo = record.id_articolo
            d.data_listino_articolo = record.data_listino_articolo
    d.prezzo_dettaglio = record.prezzo_dettaglio
    d.prezzo_ingrosso = record.prezzo_ingrosso
    d.ultimo_costo = record.ultimo_costo
    d.listino_attuale = record.listino_attuale
    a = d.persist()
    if not a:
        # g = ListinoArticolo().select(codice=record.codice)
        # if g :
        # g=g[0]
        # g.codice = g.codice+"BIS"
        # b = g.persist()
        # if not b:
        print "PROPRIO NON SO COSA FARE HO ANCHE  CAMBIATO IL CODICE"
        # listino_articolo_table(soup=soup, op=op, dao=dao, row=row, all=all)
    return True
示例#14
0
 def test_query_two(self):
     q = Session.query(User).join(User.addresses).\
         filter(Address.email.like('%fred%'))
     q2 = serializer.loads(serializer.dumps(q, -1), users.metadata,
                           Session)
     eq_(q2.all(), [User(name='fred')])
     eq_(list(q2.values(User.id, User.name)), [(9, 'fred')])
示例#15
0
    def test_expression(self):

        expr = select([users]).select_from(users.join(addresses)).limit(5)
        re_expr = serializer.loads(serializer.dumps(expr, -1), users.metadata, None)
        eq_(str(expr), str(re_expr))

        assert re_expr.bind is testing.db
        eq_(re_expr.execute().fetchall(), [(7, u"jack"), (8, u"ed"), (8, u"ed"), (8, u"ed"), (9, u"fred")])
示例#16
0
    def test_aliases(self):
        u7, u8, u9, u10 = Session.query(User).order_by(User.id).all()

        ualias = aliased(User)
        q = Session.query(User, ualias).join((ualias, User.id < ualias.id)).filter(User.id<9).order_by(User.id, ualias.id)

        q2 = serializer.loads(serializer.dumps(q), users.metadata, Session)
        
        eq_(list(q2.all()), [(u7, u8), (u7, u9), (u7, u10), (u8, u9), (u8, u10)])
示例#17
0
    def test_orm_join(self):
        from sqlalchemy.orm.util import join

        j = join(User, Address, User.addresses)

        j2 = serializer.loads(serializer.dumps(j, -1), users.metadata)
        assert j2.left is j.left
        assert j2.right is j.right
        assert j2._target_adapter._next
示例#18
0
def fornitura_table(soup=None, op=None,dao=None, row=None, all=False):
    d = None
    if soup and not all:
        record = soup.fornitura.get(loads(row.object))
    else:
        record = row
    if op =="DELETE":
        if all:
            d = Fornitura().getRecord(id=row.id)
        else:
            d = Fornitura().getRecord(id=loads(row.object))
        if d:
            d.delete()
        return True
    elif op == "INSERT":
        if all:
            d = Fornitura()
            d.id = record.id
        else:
            d = Fornitura().getRecord(id=loads(row.object))
    elif op == "UPDATE":
        if all:
            d = Fornitura().getRecord(id=row.id)
        else:
            d = Fornitura().getRecord(id=loads(row.object))

    d.codice_articolo_fornitore = record.codice_articolo_fornitore
    d.prezzo_lordo = record.prezzo_lordo
    d.prezzo_netto = record.prezzo_netto
    d.applicazione_sconti = record.applicazione_sconti
    d.scorta_minima = record.scorta_minima
    d.tempo_arrivo_merce = record.tempo_arrivo_merce
    d.fornitore_preferenziale = record.fornitore_preferenziale
    d.percentuale_iva = record.percentuale_iva
    d.data_fornitura = record.data_fornitura
    d.data_prezzo = record.data_prezzo
    d.id_fornitore = record.id_fornitore
    d.id_articolo = record.id_articolo
    d.id_multiplo = record.id_multiplo
    d.persist()
    return True
示例#19
0
    def test_query_three(self):
        ua = aliased(User)
        q = \
            Session.query(ua).join(ua.addresses).\
               filter(Address.email.like('%fred%'))
        q2 = serializer.loads(serializer.dumps(q, -1), users.metadata,
                              Session)
        eq_(q2.all(), [User(name='fred')])

        # try to pull out the aliased entity here...
        ua_2 = q2._entities[0].entity_zero.entity
        eq_(list(q2.values(ua_2.id, ua_2.name)), [(9, 'fred')])
示例#20
0
    def test_unicode(self):
        m = MetaData()
        t = Table(ue('\u6e2c\u8a66'), m,
                Column(ue('\u6e2c\u8a66_id'), Integer))

        expr = select([t]).where(t.c[ue('\u6e2c\u8a66_id')] == 5)

        expr2 = serializer.loads(serializer.dumps(expr, -1), m)

        self.assert_compile(
            expr2,
            ue('SELECT "\u6e2c\u8a66"."\u6e2c\u8a66_id" FROM "\u6e2c\u8a66" '
                'WHERE "\u6e2c\u8a66"."\u6e2c\u8a66_id" = :\u6e2c\u8a66_id_1'),
            dialect="default"
        )
示例#21
0
def initdata(source='data/serialized_dump.txt'):
    print("Start importing data")
    with open(source, 'rb') as f:
        data = json.loads(f.readline())
    for model_data in data:
        try:
            restored = loads(model_data, db.metadata, db.session)
        except AttributeError, e:
            print('Table does not exist: {}'.format(e))
            continue
        if restored:
            print('Importing {} table...'.format(restored[0].__table__.name))
        for item in restored:
            db.session.merge(item)

        db.session.commit()
示例#22
0
文件: orm.py 项目: Rouxion/svaksvat
def restore_everything(session, backupdict):
    meta = get_declarative_base().metadata
    # Truncate tables
    progress = QtGui.QProgressDialog()
    progress.show()
    progress.setAutoClose(True)
    progress.setLabelText("Tömmer databas")
    progress.setMaximum(len(meta.sorted_tables) + 1)
    for table in reversed(meta.sorted_tables):
        session.execute(table.delete())
    session.commit()
    session.close()

    progress.setLabelText("Återställer")

    # Add recovered objects
    for i, table in enumerate(meta.sorted_tables):
        progress.setValue(i + 1)
        if progress.wasCanceled():
            return False
        if table.name in backupdict:
            progress.setLabelText('Återställer tabellen %s' % table.name)
            QtCore.QCoreApplication.processEvents()
            serialized_table = backupdict[table.name]
            restored_objects = loads(serialized_table, meta, session)
            for restored_object in restored_objects:

                table_class = table.name.replace("Table", "")
                if (table_class == "MembershipType"):
                    table_class = "Membership"
                if (table_class == 'members_sequence'):
                    table_class = "Sequence"

                row = eval(table_class)()
                i = 0
                for key in restored_object.keys():
                    setattr(row, key, restored_object[i])
                    i += 1
                session.merge(row)

    session.commit()
    session.close()

    progress.close()
    return True
示例#23
0
 def test_attribute(self):
     assert serializer.loads(serializer.dumps(User.name), None, None) is User.name
示例#24
0
 def test_columns(self):
     assert serializer.loads(serializer.dumps(users.c.name), users.metadata, Session) is users.c.name
示例#25
0
 def test_mapper(self):
     user_mapper = class_mapper(User)
     assert serializer.loads(serializer.dumps(user_mapper), None, None) is user_mapper
示例#26
0
 def test_any(self):
     r = User.addresses.any(Address.email=='x')
     ser = serializer.dumps(r)
     x = serializer.loads(ser, users.metadata)
     eq_(str(r), str(x))
示例#27
0
 def test_tables(self):
     assert serializer.loads(serializer.dumps(users), users.metadata, Session) is users
示例#28
0
 def test_columns(self):
     assert serializer.loads(serializer.dumps(users.c.name), users.metadata,
                             Session) is users.c.name
示例#29
0
 def test_tables(self):
     assert serializer.loads(serializer.dumps(users), users.metadata,
                             Session) is users
示例#30
0
 def test_attribute(self):
     assert serializer.loads(serializer.dumps(User.name), None,
                             None) is User.name
示例#31
0
 def test_mapper(self):
     user_mapper = class_mapper(User)
     assert serializer.loads(serializer.dumps(user_mapper), None,
                             None) is user_mapper
示例#32
0
文件: models.py 项目: mkroc22/Airflow
 def get_object(self):
     return loads(self.pickle)
示例#33
0
 def deserialize(cls: Type[T], string: str) -> T:
     return loads(string.encode())
示例#34
0
 def parse_data(self, contents):
     """Loads a dump and convert it into rows """
     db = self.db()
     return loads(contents, db.metadata, db.session)
示例#35
0
 def test_any(self):
     r = User.addresses.any(Address.email == 'x')
     ser = serializer.dumps(r, -1)
     x = serializer.loads(ser, users.metadata)
     eq_(str(r), str(x))
示例#36
0
文件: dbdb.py 项目: NSkelsey/research
 def unpickle_pickle(self):
     self.expression = loads(self.expr_blob, t_m_Base.metadata, Session)
示例#37
0
 def parse_data(self, contents):
     """Loads a dump and convert it into rows """
     db = self.db()
     return loads(contents, db.metadata, db.session)
示例#38
0
 def fetch_from_cache(self):
     record = self.recorder.load_record(self.cache_key)
     cached_value = sa_serializer.loads(base64.b64decode(record["data"]))
     return self.merge_result(cached_value, load=False)
示例#39
0
def articolo_table(soup=None, op=None, dao=None, row=None, all=False):
    d = None
    if soup and not all:
        record = soup.articolo.get(loads(row.object))
    else:
        record = row
    if op == "DELETE":
        if all:
            d = Articolo().getRecord(id=row.id)
        else:
            d = Articolo().getRecord(id=loads(row.object))
        if d:
            d.delete()
        return True
    elif op == "INSERT":
        if all:
            d = Articolo()
            d.id = record.id
        else:
            d = Articolo().getRecord(id=loads(row.object))
    elif op == "UPDATE":
        if all:
            d = Articolo().getRecord(id=row.id)
        else:
            d = Articolo().getRecord(id=loads(row.object))
        if not d:
            d = Articolo()
            d.id = record.id

    d.codice = record.codice
    d.denominazione = record.denominazione
    d.id_aliquota_iva = record.id_aliquota_iva
    d.id_famiglia_articolo = record.id_famiglia_articolo
    d.id_categoria_articolo = record.id_categoria_articolo
    d.id_immagine = record.id_immagine
    d.id_unita_base = record.id_unita_base
    d.id_stato_articolo = record.id_stato_articolo
    d.produttore = record.produttore
    d.unita_dimensioni = record.unita_dimensioni
    d.lunghezza = record.lunghezza
    d.larghezza = record.larghezza
    d.altezza = record.altezza
    d.unita_volume = record.unita_volume
    d.volume = record.volume
    d.unita_peso = record.unita_peso
    d.peso_lordo = record.peso_lordo
    d.id_imballaggio = record.id_imballaggio
    d.peso_imballaggio = record.peso_imballaggio
    d.stampa_etichetta = record.stampa_etichetta
    d.codice_etichetta = record.codice_etichetta
    d.descrizione_etichetta = record.descrizione_etichetta
    d.stampa_listino = record.stampa_listino
    d.descrizione_listino = record.descrizione_listino
    d.aggiornamento_listino_auto = record.aggiornamento_listino_auto
    d.timestamp_variazione = record.timestamp_variazione
    d.note = record.note
    d.contenuto = record.contenuto
    d.cancellato = record.cancellato
    d.sospeso = record.sospeso
    d.quantita_minima = record.quantita_minima
    a = d.persist()
    if not a:
        g = Articolo().select(codice=record.codice)
        if g:
            g = g[0]
            g.codice = g.codice + "BIS"
            b = g.persist()
            if not b:
                print "PROPRIO NON SO COSA FARE HO ANCHE  CAMBIATO IL CODICE"
            articolo_table(soup=soup, op=op, dao=dao, row=row, all=all)
    return True
示例#40
0
 def test_query_two(self):
     q = (Session.query(User).join(User.addresses).filter(
         Address.email.like("%fred%")))
     q2 = serializer.loads(serializer.dumps(q, -1), users.metadata, Session)
     eq_(q2.all(), [User(name="fred")])
     eq_(list(q2.with_entities(User.id, User.name)), [(9, "fred")])