• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python orm.SessionFactory类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中tinyms.core.orm.SessionFactory的典型用法代码示例。如果您正苦于以下问题:Python SessionFactory类的具体用法?Python SessionFactory怎么用?Python SessionFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了SessionFactory类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: finger_tpl_save

    def finger_tpl_save(self):
        index = Utils.parse_int(self.param("index"))
        tpl = self.param("tpl")
        archives_id = Utils.parse_int(self.param("archives_id"))
        sf = SessionFactory.new()
        obj = sf.query(ValidWorkFingerTemplate) \
            .filter(ValidWorkFingerTemplate.archives_id == archives_id) \
            .filter(ValidWorkFingerTemplate.finger_index == index).limit(1).scalar()

        machines_sn = sf.query(ValidWorkMachine.sn).all()
        machines_sn = [sn[0] for sn in machines_sn]
        name = sf.query(Archives.name).filter(Archives.id == archives_id).limit(1).scalar()
        for sn in machines_sn:
            ValidWorkHelper.push_user_fp_to_machine(sn, archives_id, name, index, tpl)

        if obj:
            obj.tpl = tpl
            sf.commit()
            return ["success"]
        else:
            if archives_id:
                sf = SessionFactory.new()
                obj = ValidWorkFingerTemplate()
                obj.card_no = ""
                obj.finger_index = index
                obj.tpl = tpl
                obj.archives_id = archives_id
                sf.add(obj)
                sf.commit()
                return ["success"]
        return ["failure"]
开发者ID:tinyms,项目名称:Matty,代码行数:31,代码来源:controller.py


示例2: update

 def update(self, id_):
     message = dict()
     self.set_header("Content-Type", "text/json;charset=utf-8")
     meta = DataTableModule.__entity_mapping__.get(id_)
     if not meta:
         self.set_status(403, "Error!")
     entity = import_object(meta["name"])
     custom_filter = ObjectPool.datatable_provider.get(meta["name"])
     custom_filter_obj = None
     if custom_filter:
         custom_filter_obj = custom_filter()
     rec_id = self.get_argument("id")
     valid_msg = ""
     if not rec_id:
         message["flag"] = "add"
         sf = SessionFactory.new()
         obj = self.wrap_entity(entity())
         if hasattr(custom_filter_obj, "before_add"):
             valid_msg = custom_filter_obj.before_add(obj, sf, self)
             # 检查没有数据上的问题才执行保存动作
         if not valid_msg:
             sf.add(obj)
             sf.commit()
             if hasattr(custom_filter_obj, "after_add"):
                 custom_filter_obj.after_add(obj, sf, self)
             message["success"] = True
             message["msg"] = obj.id
             self.write(Utils.encode(message))
         else:
             message["success"] = False
             message["msg"] = valid_msg
             self.write(Utils.encode(message))
     else:
         message["flag"] = "update"
         sf = SessionFactory.new()
         cur_row = sf.query(entity).get(rec_id)
         self.wrap_entity(cur_row)
         if hasattr(custom_filter_obj, "before_modify"):
             valid_msg = custom_filter_obj.before_modify(cur_row, sf, self)
         if not valid_msg:
             sf.commit()
             if hasattr(custom_filter_obj, "after_modify"):
                 custom_filter_obj.after_modify(cur_row, sf, self)
             message["success"] = True
             message["msg"] = "Updated"
             self.write(Utils.encode(message))
         else:
             message["success"] = False
             message["msg"] = valid_msg
             self.write(Utils.encode(message))
开发者ID:tinyms,项目名称:Matty,代码行数:50,代码来源:widgets.py


示例3: count

 def count(self, kw, http_req):
     sf = SessionFactory.new()
     q = sf.query(func.count(ValidWorkAskForLeave.id))\
         .join(Archives, ValidWorkAskForLeave.archives_id == Archives.id)
     if kw:
         q = q.filter(Archives.name.contains(kw))
     return q.limit(1).scalar()
开发者ID:tinyms,项目名称:Matty,代码行数:7,代码来源:controller.py


示例4: list

 def list(self, kw, start, limit, http_req):
     sf = SessionFactory.new()
     subq = sf.query(Archives.id, Archives.name).subquery()
     q = sf.query(ValidWorkAskForLeave, Archives.name, subq.c.name.label("creator"))\
         .join(Archives, ValidWorkAskForLeave.archives_id == Archives.id)\
         .outerjoin(subq, ValidWorkAskForLeave.creator == subq.c.id)
     if kw:
         q = q.filter(Archives.name.contains(kw))
     dataset = q.order_by(ValidWorkAskForLeave.id.desc()).offset(start).limit(limit).all()
     items = list()
     for row in dataset:
         ot = row[0]
         name = row[1]
         creator = row[2]
         item = dict()
         item["id"] = ot.id
         item["kind"] = ot.kind
         item["ask_date"] = Utils.format_date(ot.ask_date)
         item["start_datetime"] = Utils.format_datetime_short(ot.start_datetime)
         item["end_datetime"] = Utils.format_datetime_short(ot.end_datetime)
         item["create_datetime"] = Utils.format_datetime_short(ot.create_datetime)
         item["name"] = name
         item["creator"] = creator
         items.append(item)
     return items
开发者ID:tinyms,项目名称:Matty,代码行数:25,代码来源:controller.py


示例5: post

    def post(self, *args, **kwargs):

        #记录机器访问数据
        params_ = self.wrap_params_to_dict()
        sn = params_.get("SN")
        sf = SessionFactory.new()
        machine = sf.query(ValidWorkMachine).filter(ValidWorkMachine.sn == sn).limit(1).scalar()
        table = params_.get("table")
        if table == "OPERLOG":
            op_stamp = params_.get("OpStamp")
            if op_stamp and machine:
                machine.opstamp = Utils.parse_int(op_stamp)
                sf.commit()
            self.write("OK")
        elif table == "ATTLOG":
            stamp = params_.get("Stamp")
            if stamp and machine:
                stamp = Utils.parse_int(stamp)
                machine.stamp = stamp
                sf.commit()

            if stamp and stamp > 0:
                records_text = self.request.body
                if records_text:
                    records_text = records_text.decode("utf-8")
                    records = list()
                    for line in records_text.split("\n"):
                        items = line.split("\t")
                        if len(items) >= 2:
                            records.append((items[0], items[1]))
                    for r in records:
                        archives_id = r[0]
                        touch_time = datetime.strptime(r[1], "%Y-%m-%d %H:%M:%S")
                        self.detect_chkon_status(archives_id, touch_time)
                    self.write("OK")
开发者ID:tinyms,项目名称:Matty,代码行数:35,代码来源:controller.py


示例6: push_users_fp_to_machine

    def push_users_fp_to_machine(sn, items):
        """

        @param sn:
        @param items: [[pin, name, fid, tpl]..]
        """
        sf = SessionFactory.new()
        id_ = sf.query(ValidWorkCommands.id).filter(ValidWorkCommands.sn == sn).limit(1).scalar()
        cmds = list()
        for item in items:
            create = r"DATA DEL_USER PIN=%i\r\nDATA USER PIN=%i\tName=%s\r\n" % (item[0], item[0], item[1])
            update = r"DATA FP PIN=%i\tFID=%i\tTMP=%s\r\n" % (item[0], item[2], item[3])
            vwc = ValidWorkCommands()
            vwc.sn = sn
            vwc.validworkmachine_id = id_
            vwc.cmd = create
            vwc.create_date = Utils.current_datetime()
            vwc1 = ValidWorkCommands()
            vwc1.sn = sn
            vwc1.validworkmachine_id = id_
            vwc1.cmd = update
            vwc1.create_date = Utils.current_datetime()
            cmds += [vwc, vwc1]
        sf.add_all(cmds)
        sf.commit()
开发者ID:tinyms,项目名称:Matty,代码行数:25,代码来源:gerneric.py


示例7: get

 def get(self, *args, **kwargs):
     sn = self.get_argument("SN")
     opts = self.get_argument("options")
     self.set_header("Content-Type", "text/plain;charset=utf-8")
     if opts == "all":
         self.write("GET OPTION FROM:" + sn + "\n")
         self.write("ErrorDelay=60\n")
         self.write("Delay=15\n")
         self.write("TransInterval=1\n")
         self.write("TransFlag=1111000000\n")
         self.write("Realtime=1\n")
         self.write("Encrypt=0\n")
         self.write("TransTimes=00:00;14:05\n")
         sf = SessionFactory.new()
         machine = sf.query(ValidWorkMachine).filter(ValidWorkMachine.sn == sn).limit(1).scalar()
         if machine:
             if machine.stamp:
                 self.write("Stamp=" + str(machine.stamp) + "\n")
             if machine.opstamp:
                 self.write("OpStamp=" + str(machine.opstamp) + "\n")
             if machine.photo_stamp:
                 self.write("PhotoStamp=" + str(machine.photo_stamp) + "\n")
         else:
             #初始化一个起始交互日期
             a = "100000000"
             self.write("Stamp=" + a + "\n")
             self.write("OpStamp=" + a + "\n")
             self.write("PhotoStamp=" + a + "\n")
开发者ID:tinyms,项目名称:Matty,代码行数:28,代码来源:controller.py


示例8: render

 def render(self, **prop):
     self.dom_id = prop.get("id")
     self.cols = prop.get("cols")
     self.sort_sql = prop.get("sort_sql")
     self.entity_full_name = prop.get("entity")
     self.query_class = prop.get("query_class")  # obj prop `data` func return [(k,v),(k,v)...]
     self.allow_blank = prop.get("allow_blank")
     html = list()
     html.append("<select id='%s' name='%s' class='form-control'>" % (self.dom_id, self.dom_id))
     if self.allow_blank:
         html.append("<option value=''> </option>")
     if not self.query_class:
         if not self.entity_full_name:
             return "<small>Require entity full name.</small>"
         if self.entity_full_name:
             cls = import_object(self.entity_full_name)
             cnn = SessionFactory.new()
             q = cnn.query(cls)
             if self.sort_sql:
                 q = q.order_by(self.sort_sql)
             items = q.all()
             all = list()
             for item in items:
                 all.append([(getattr(item, col)) for col in self.cols.split(",")])
             for opt in all:
                 html.append("<option value='%s'>%s</option>" % (opt[0], opt[1]))
     else:
         obj = import_object(self.query_class)()
         if hasattr(obj, "data"):
             items = getattr(obj, "data")()
             for item in items:
                 html.append("<option value='%s'>%s</option>" % (item[0], item[1]))
     html.append("</select>")
     return "".join(html)
开发者ID:tinyms,项目名称:Matty,代码行数:34,代码来源:widgets.py


示例9: delete

 def delete(self, id_, http_req):
     sf = SessionFactory.new()
     num = sf.query(ValidWorkAskForLeave).filter(ValidWorkAskForLeave.id == id_).delete(synchronize_session='fetch')
     sf.commit()
     if num > 0:
         return ""
     return "failure"
开发者ID:tinyms,项目名称:Matty,代码行数:7,代码来源:controller.py


示例10: is_holiday

 def is_holiday(current_date_str):
     sf = SessionFactory.new()
     num = sf.query(func.count(Holiday.id))\
         .filter(Holiday.start_date <= current_date_str).filter(Holiday.end_date >= current_date_str).scalar()
     if num > 0:
         return True
     return False
开发者ID:tinyms,项目名称:Matty,代码行数:7,代码来源:gerneric.py


示例11: delete

 def delete(self, id_):
     self.set_header("Content-Type", "text/json;charset=utf-8")
     meta = DataTableModule.__entity_mapping__.get(id_)
     if not meta:
         self.set_status(403, "Error!")
     entity = import_object(meta["name"])
     custom_filter = ObjectPool.datatable_provider.get(meta["name"])
     custom_filter_obj = None
     if custom_filter:
         custom_filter_obj = custom_filter()
     valid_msg = ""
     message = dict()
     message["flag"] = "delete"
     rec_id = self.get_argument("id")
     sf = SessionFactory.new()
     cur_row = sf.query(entity).get(rec_id)
     if hasattr(custom_filter_obj, "before_delete"):
         valid_msg = custom_filter_obj.before_delete(cur_row, sf, self)
     if not valid_msg:
         sf.delete(cur_row)
         sf.commit()
         if hasattr(custom_filter_obj, "after_delete"):
             custom_filter_obj.after_delete(cur_row, sf, self)
         message["success"] = True
         message["msg"] = "Deleted"
         self.write(Utils.encode(message))
     else:
         message["success"] = False
         message["msg"] = valid_msg
         self.write(Utils.encode(message))
开发者ID:tinyms,项目名称:Matty,代码行数:30,代码来源:widgets.py


示例12: value

 def value(self):
     sf = SessionFactory.new()
     val = sf.query(ValidWorkFingerTemplateKey.tpl) \
         .filter(ValidWorkFingerTemplateKey.account_id == self.request.current_user).limit(1).scalar()
     if val:
         return [val]
     return [""]
开发者ID:tinyms,项目名称:Matty,代码行数:7,代码来源:controller.py


示例13: post

    def post(self, *args, **kwargs):
        """
        do login action
        :param args:
        :param kwargs:
        """
        login_id = self.get_argument("login_id")
        login_pwd = self.get_argument("login_pwd")
        if not login_id or not login_pwd:
            self.redirect(self.get_login_url())
        cnn = SessionFactory.new()

        if Utils.is_email(Utils.trim(login_id)):
            rows = cnn.query(Account.id, Archives.name).outerjoin(Archives, Account.archives_id == Archives.id) \
                .filter(Archives.email == login_id).filter(Account.login_pwd == Utils.md5(login_pwd)) \
                .filter(Account.enabled == 1).limit(1).all()
            if len(rows) > 0:
                id_ = rows[0][0]
                name = rows[0][1]
                self.set_secure_cookie(IRequest.__key_account_id__, "%i" % id_)
                self.set_secure_cookie(IRequest.__key_account_name__, name)
                Login.update_last_login_datetime(id_)
        else:
            rows = cnn.query(Account.id, Archives.name).outerjoin(Archives, Account.archives_id == Archives.id) \
                .filter(Account.login_name == login_id).filter(Account.login_pwd == Utils.md5(login_pwd)) \
                .filter(Account.enabled == 1).limit(1).all()
            if len(rows) > 0:
                id_ = rows[0][0]
                name = rows[0][1]
                self.set_secure_cookie(IRequest.__key_account_id__, "%i" % id_)
                self.set_secure_cookie(IRequest.__key_account_name__, name)
                Login.update_last_login_datetime(id_)

        self.redirect("/workbench/dashboard")
开发者ID:tinyms,项目名称:Matty,代码行数:34,代码来源:anonymous.py


示例14: list_fingers

 def list_fingers(self):
     sf = SessionFactory.new()
     archives_id = Utils.parse_int(self.param("archives_id"))
     items = sf.query(ValidWorkFingerTemplate.finger_index) \
         .filter(ValidWorkFingerTemplate.archives_id == archives_id).all()
     items = [item[0] for item in items]
     return items
开发者ID:tinyms,项目名称:Matty,代码行数:7,代码来源:controller.py


示例15: list

 def list(self, taxonomy):
     cnn = SessionFactory.new()
     items = cnn.query(TermTaxonomy.id, Term.name) \
         .outerjoin((Term, Term.id == TermTaxonomy.term_id)) \
         .filter(TermTaxonomy.taxonomy == taxonomy) \
         .all()
     return items
开发者ID:tinyms,项目名称:ArchiveX,代码行数:7,代码来源:widgets.py


示例16: list

 def list(self):
     role_id = self.param("id")
     if not role_id:
         return []
     cnn = SessionFactory.new()
     points = cnn.query(SecurityPoint.id).join((Role, SecurityPoint.roles)).filter(Role.id == role_id).all()
     return [p[0] for p in points]
开发者ID:tinyms,项目名称:Matty,代码行数:7,代码来源:security.py


示例17: list

    def list(self, id_):
        meta = DataTableModule.__entity_mapping__.get(id_)
        if not meta:
            self.set_status(403, "Error!")
        entity = import_object(meta["name"])
        self.datatable_display_cols = meta["cols"]
        self.set_header("Content-Type", "text/json;charset=utf-8")
        display_start = Utils.parse_int(self.get_argument("iDisplayStart"))
        display_length = Utils.parse_int(self.get_argument("iDisplayLength"))
        # cols_num = self.get_argument("iColumns")

        # 全局搜索处理段落
        default_search_value = self.get_argument("sSearch")
        default_search_fields = DataTableModule.__default_search_fields__.get(id_)
        default_search_sqlwhere = ""
        default_search_sqlwhere_params = dict()
        if default_search_value and default_search_fields:
            temp_sql = list()
            for field_name in default_search_fields:
                temp_sql.append("%s like :%s" % (field_name, field_name))
                default_search_sqlwhere_params[field_name] = "%" + default_search_value + "%"
            default_search_sqlwhere = " OR ".join(temp_sql)

        # 排序处理段落
        sort_params = self.parse_sort_params()
        order_sqlwhere = ""
        for k, v in sort_params.items():
            order_sqlwhere += "1=1 ORDER BY %s %s" % (k, v)
            break

        # DataGrid数据查询段落
        cnn = SessionFactory.new()
        # here place custom filter
        total_query = cnn.query(func.count(1)).select_from(entity)
        ds_query = cnn.query(entity)

        custom_filter = ObjectPool.datatable_provider.get(meta["name"])
        if custom_filter:
            custom_filter_obj = custom_filter()
            if hasattr(custom_filter_obj, "total"):
                total_query = custom_filter_obj.total(total_query, self)
            if hasattr(custom_filter_obj, "dataset"):
                ds_query = custom_filter_obj.dataset(ds_query, self)

        if default_search_value:
            total_query = total_query.filter(default_search_sqlwhere).params(**default_search_sqlwhere_params)
            ds_query = ds_query.filter(default_search_sqlwhere).params(**default_search_sqlwhere_params)

        if order_sqlwhere:
            ds_query = ds_query.filter(order_sqlwhere)
        total = total_query.scalar()
        ds = ds_query.offset(display_start).limit(display_length)

        results = dict()
        results["sEcho"] = self.get_argument("sEcho")
        results["iTotalRecords"] = total
        results["iTotalDisplayRecords"] = total
        results["aaData"] = [item.dict() for item in ds]
        self.write(json.dumps(results, cls=JsonEncoder))
开发者ID:tinyms,项目名称:Matty,代码行数:59,代码来源:widgets.py


示例18: update

 def update(self, key, desc):
     sf = SessionFactory.new()
     row = sf.query(SecurityPoint).filter(SecurityPoint.key_ == key).limit(1).scalar()
     if row:
         row.description = desc
         sf.commit()
         return True
     return False
开发者ID:tinyms,项目名称:Matty,代码行数:8,代码来源:point.py


示例19: set_object_count

 def set_object_count(self, id, chang_num=0):
     cnn = SessionFactory.new()
     tt = cnn.query(TermTaxonomy).filter(TermTaxonomy.id == id).limit(1).scalar()
     if tt:
         tt.object_count += chang_num
         cnn.commit()
         return True
     return False
开发者ID:tinyms,项目名称:Matty,代码行数:8,代码来源:category.py


示例20: delete

 def delete(id_):
     cnn = SessionFactory.new()
     a = cnn.query(Account).get(id_)
     if a.login_name == "root":
         return "RootIsSupperAccount"
     cnn.delete(a)
     cnn.commit()
     return "Success"
开发者ID:tinyms,项目名称:Matty,代码行数:8,代码来源:account.py



注:本文中的tinyms.core.orm.SessionFactory类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python tinytag.TinyTag类代码示例发布时间:2022-05-27
下一篇:
Python common.Utils类代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap