Пример #1
0
    def createVariant(cls, commandID, row =None, **kwargs):
        session      = Session()
        commandIndex = UserCommands.getIndexFromCommandID(commandID)

        if row is None or row < 0:
            row = session.query(CommandVariants).filter(
                CommandVariants.usrcmdfk == commandIndex
            ).count()

        for n,v in kwargs.iteritems():
            if isinstance(v, str):
                kwargs[n] = unicode(v)

        variant = CommandVariants(usrcmdfk=commandIndex, row=row, **kwargs)
        session.add(variant)
        session.commit()

        out = variant.toButtonDict()
        session.close()
        return out
Пример #2
0
    def getVariantData(cls, variantID):
        session      = Session()
        variantIndex = CommandVariants.getIndexFromVariantID(variantID)
        result       = session.query(CommandVariants).filter(
            CommandVariants.i == variantIndex
        ).first()

        if not result:
            return {'error':'No such variant'}

        return result.toDict()
Пример #3
0
    def deleteVariant(cls, variantID):
        session      = Session()
        variantIndex = CommandVariants.getIndexFromVariantID(variantID)
        result       = session.query(CommandVariants).filter(CommandVariants.i == variantIndex).first()

        if result is None:
            session.close()
            return {'id':variantID}

        session.delete(result)

        session.commit()
        session.close()

        return {'id':variantID}
Пример #4
0
    def reorderVariants(cls, variantIDs):
        session = Session()
        index   = 0
        out     = []
        for varID in variantIDs:
            varIndex = CommandVariants.getIndexFromVariantID(varID)
            variant  = session.query(CommandVariants).filter(CommandVariants.i == varIndex).first()
            if not variant:
                continue

            variant.row = index
            out.append(variant.variantID)
            index  += 1

        session.commit()
        session.close()
        return out
Пример #5
0
    def modifyVariant(cls, variantID, **kwargs):
        session      = Session()
        variantIndex = CommandVariants.getIndexFromVariantID(variantID)
        result       = session.query(CommandVariants).filter(CommandVariants.i == variantIndex).first()

        if result is None:
            session.close()
            return {'error':'No Such Variant'}

        for n,v in kwargs.iteritems():
            if isinstance(v, str):
                v = unicode(v)
            setattr(result, n, v)

        session.commit()

        out = result.toButtonDict()
        session.close()
        return out