def add(self, instance): if hasattr(instance, 'created_at'): instance.created_at = dateutil.timestamp() if hasattr(instance, 'updated_at'): instance.updated_at = dateutil.timestamp() self.session.add(instance, _warn=True) # 立即写入 self.session.flush([instance]) return instance
def get_write_file_name(filesize, ext=None): temp = long(dateutil.timestamp()) one_path = base_convert(divmod(temp, 100)[1], 36) two_path = base_convert(divmod(temp/100, 1000)[1], 36) if ext: return one_path+'/'+two_path+'/'+base_convert(temp, 36)+base_convert(filesize, 36)+'.'+ext return one_path+'/'+two_path+'/'+base_convert(temp, 36)+base_convert(filesize, 36)
def update_all(self, instances): if instances is None or len(instances) == 0: return has_updated_at = hasattr(instances[0], 'updated_at') now = dateutil.timestamp() if has_updated_at else None for instance in instances: if has_updated_at: instance.updated_at = now self.session.merge(instance, load=True) self.session.flush(instances)
def add_all(self, instances): """插入所有 :param instances: 多个实例对象 """ if instances is None or len(instances) == 0: return has_updated_at = hasattr(instances[0], 'updated_at') has_created_at = hasattr(instances[0], 'created_at') now = dateutil.timestamp() if has_updated_at or has_created_at else None for instance in instances: if has_updated_at: instance.updated_at = now if has_created_at: instance.created_at = now self.session.add_all(instances) self.session.flush(instances) return instances
def update(self, instance): if hasattr(instance, 'updated_at'): instance.updated_at = dateutil.timestamp() self.session.merge(instance, load=True) self.session.flush([instance]) return instance
def gen_id(): temp = dateutil.timestamp() return str(uuid.uuid4()).split('-')[0] + _base_convert(temp, 36)
def test_timestamp(self): timestamp = dateutil.timestamp() self.assertEqual(len(str(timestamp)), 13)