def sign(self, data, secret_key): l = [sh.unicodeToStr('%s=%s' % (k,v)) for k,v in data.items()] l.sort() l.append(secret_key) md5 = hashlib.md5() md5.update(''.join(l)) return md5.hexdigest()
def sign(self, data, secret_key): l = [sh.unicodeToStr('%s=%s' % (k, v)) for k, v in data.items()] l.sort() l.append(secret_key) md5 = hashlib.md5() md5.update(''.join(l)) return md5.hexdigest()
def __processData(self, data): data = sh.copy(data) for key, values in self.arguments.items(): assert (hasattr(str, key)) assert (isinstance(values, list) or isinstance(values, tuple)) for v in values: if data.has_key(v): data[v] = getattr(str, key)(sh.unicodeToStr(data[v])) return data
def __autoOperateTags(self, item_id, tags): tags = sh.unicodeToStr(tags) if isinstance(tags, str): tags = [t.strip() for t in tags.split(self.arguments.split_char) if t.strip()] if self.arguments.auto_operate == 'reset': self.__clearTags(item_id) return self.addTags(item_id, tags) elif self.arguments.auto_operate == 'append': return self.addTags(item_id, tags)
def __processData(self, data): data = sh.copy(data) for key, values in self.arguments.items(): assert(hasattr(str, key)) assert(isinstance(values, list) or isinstance(values, tuple)) for v in values: if data.has_key(v): data[v] = getattr(str, key)(sh.unicodeToStr(data[v])) return data
def getsByTag(self, tag): tag = sh.unicodeToStr(tag) assert(isinstance(tag, str) and len(tag.strip()) > 0) tag_model = self.__getTagModel() query = tag_model.replaceAttr('select data_id from {$table_name} where data_name=%s and name=%s') item_ids = tag_model.db.fetchSomeFirst(query, [self._getModelTableName(), tag]) items = self.model.gets(item_ids) self.__setTags(items) return items
def getsByTag(self, tag): tag = sh.unicodeToStr(tag) assert (isinstance(tag, str) and len(tag.strip()) > 0) tag_model = self.__getTagModel() query = tag_model.replaceAttr( 'select data_id from {$table_name} where data_name=%s and name=%s') item_ids = tag_model.db.fetchSomeFirst( query, [self._getModelTableName(), tag]) items = self.model.gets(item_ids) self.__setTags(items) return items
def __autoOperateTags(self, item_id, tags): tags = sh.unicodeToStr(tags) if isinstance(tags, str): tags = [ t.strip() for t in tags.split(self.arguments.split_char) if t.strip() ] if self.arguments.auto_operate == 'reset': self.__clearTags(item_id) return self.addTags(item_id, tags) elif self.arguments.auto_operate == 'append': return self.addTags(item_id, tags)
def appendVersionNum(handler): res = handler() html = sh.unicodeToStr(res) if isinstance(res, unicode) else str(res) curr_v = int(sh.getSiteConfig(CONFIG_KEY, 0)) if curr_v: regex_strings = ( (''' (?<=<link\ )([^>]*href=")([^":]*?)(\.css)(".*?>) ''', r'\1\2\3?v=%d\4' % curr_v), (''' (?<=<script\ )([^>]*src=")([^":]*?)(\.js)(".*?>) ''', r'\1\2\3?v=%d\4' % curr_v), ) for pattern, replace in regex_strings: regex = re.compile(pattern, re.I | re.S | re.X) html = regex.sub(replace, html) return html
def __getExistsTag(self, item_id, tag): tag = sh.unicodeToStr(tag) assert(isinstance(tag, str) and len(tag.strip()) > 0) return self.__getTagModel().getOneByWhere('data_name=%s and data_id=%s and name=%s', self._getModelTableName(), item_id, tag.strip())
def __getExistsTag(self, item_id, tag): tag = sh.unicodeToStr(tag) assert (isinstance(tag, str) and len(tag.strip()) > 0) return self.__getTagModel().getOneByWhere( 'data_name=%s and data_id=%s and name=%s', self._getModelTableName(), item_id, tag.strip())