def getindexsongs(soup): songUtil = SongUtil() aNodes = soup.find_all('div', class_='song') if aNodes is not None: for node in aNodes: aSong = node.a music_name = songUtil.__getcontent__(aSong, songUtil.__TITLE__) music_url = songUtil.__getcontent__(aSong, songUtil.__HREF__) if songUtil.__usedList__.count(music_url) == 0: songUtil.__usedList__.append(music_url) author = node.find_all('span', class_='author_list')[0] aAuthorList = author.find_all('a') singer = "" for authorlist in aAuthorList: print authorlist singer += (songUtil.__getcontent__( authorlist, songUtil.__TITLE__) + ',') music_singer = singer[0:len(singer) - 1] # 插入mysql params = [ UUIDUtil.getuuid(), StringUtil.replace(music_name, "'", " "), StringUtil.replace(music_singer, "'", " "), StringUtil.replace(music_url, "'", " ") ] sql = """insert into music_record(UUID,music_name,music_singer,music_url_online) values""" SQLUtil.insert(sql, params)
def parameterPlug( self, parameter ) : plugName = _IECoreMaya._parameterisedHolderParameterPlug( self, parameter ) if plugName == "" : return maya.OpenMaya.MPlug() return StringUtil.plugFromString( self.fullPathName() + "." + plugName )
def __init__( self, layoutName, classNameOrParameterised, classVersion=None, envVarName=None ) : """ Creates a temporary TransientParameterisedHolderNode in order to present the UI for the specified parameterised object in the given layout. The node is automatically deleted when the holding layout is destroyed """ nodeName = maya.cmds.createNode( "ieTransientParameterisedHolderNode", skipSelect = True ) # Script jobs aren't available from maya.cmds. Maya Python bindings generate swig warnings # such as "swig/python detected a memory leak of type 'MCallbackId *', no destructor found" IECoreMaya.mel( 'scriptJob -uiDeleted "%s" "delete %s" -protected' % ( layoutName, nodeName ) ) object = StringUtil.dependencyNodeFromString( nodeName ) maya.OpenMaya.MFnDependencyNode.__init__( self, object ) if isinstance( classNameOrParameterised, str ) : res = _IECoreMaya._parameterisedHolderSetParameterised( self, classNameOrParameterised, classVersion, envVarName ) else : assert( not classVersion ) assert( not envVarName ) res = _IECoreMaya._parameterisedHolderSetParameterised( self, classNameOrParameterised ) parameterised = self.getParameterised()[0] if parameterised: maya.cmds.setParent( layoutName ) IECoreMaya.ParameterUI.create( object, parameterised.parameters() ) maya.cmds.setParent( layoutName ) return res
def paragraph( self, text ) : self.__blankLine() lines = StringUtil.wrap( str( text ).rstrip(), self.__wrapWidth ).split( "\n" ) for line in lines : self.__indent() self.__output( line + "\n" )
def GetTabName(self): """タブコントロールに表示する名前""" word = self.listObject.rootDirectory.split("\\") word = word[len(word) - 1] word = StringUtil.GetLimitedString( word, globalVars.app.config["view"]["header_title_length"]) return word
def drawFieldFromLine( line, fieldConfig ): for (k, v) in fieldConfig.items(): s = line.find(v[0]) if s != -1: s += len(v[0]) e = line.find(v[1], s) v[2] = StringUtil.subString(line, s, e)
def GetTabName(self): """タブコントロールに表示する名前""" word = self.listObject.GetKeywordString() word = StringUtil.GetLimitedString( word, globalVars.app.config["view"]["header_title_length"]) word = _("%(word)sの検索") % {"word": word} return word
def paragraph(self, text): self.__blankLine() lines = StringUtil.wrap(str(text).rstrip(), self.__wrapWidth).split("\n") for line in lines: self.__indent() self.__output(line + "\n")
def GetTabName(self): """タブコントロールに表示する名前""" word = os.path.basename(self.listObject.rootDirectory) if word == "": # ルート word = self.listObject.rootDirectory word = StringUtil.GetLimitedString( word, globalVars.app.config["view"]["header_title_length"]) return word
def refererParser(rawReferer): if isinstance(rawReferer, dict): return rawReferer import urllib, StringUtil , LumberjackConstants as L rawReferer = StringUtil.convertTrChars(urllib.parse.unquote_plus(urllib.parse.unquote_plus(rawReferer))) scheme, authority, path, params, query, frag = urllib.parse.urlparse(rawReferer) query = [p.split('=') for p in query.split('&')] query = [p for p in query if len(p) == 2] referer = {p[0]: p[1] for p in query} referer['page'] = path[1:] return referer
def _despatchSetClassParameterClassCallbacks( cls, plugPath ) : # See comment in _despatchSetClassVectorParameterClassesCallbacks if not maya.cmds.objExists( plugPath ) : return fnPH = FnParameterisedHolder( StringUtil.nodeFromAttributePath( plugPath ) ) parameter = fnPH.plugParameter( plugPath ) for c in cls.__setClassParameterClassCallbacks : c( fnPH, parameter )
def get(self, units='radians'): """Gets radians value and converts according to units string 'radians' -- no conversion 'degrees' -- radians to decimal degrees 'dmsstr' -- radians to sexagesimal string degress as -DD:MM:SS.SSS 'hmsstr' -- radians to sexagesimal string hours as -HH:MM:SS.SSS 'masec' -- radians to milliarcseconds 'arcsec' -- radians to arcseconds 'dms' and 'hms' are aliases for 'dmsstr' and 'hmsstr' """ if units == 'radians': return self.radians elif units == 'degrees': return self.radians * self.__degperrad elif units == 'dmsstr' or units == 'dms': # String in the form -DD:MM:SS.SSS strg = su.dmsStrFromDeg(self.radians * self.__degperrad, precision=3) if len(strg) == 11: # Need to add missing zero and space strg = ' 0' + strg elif len(strg) == 12: # Need to add missing zero or space if strg[0] == '-': strg = strg[0] + '0' + strg[1:] else: strg = ' ' + strg return strg elif units == 'hmsstr' or units == 'hms': # String in the form -HH:MM:SS.SSS strg = su.dmsStrFromDeg(self.radians * self.__degperrad / 15., precision=3) if len(strg) == 11: # Need to add missing zero strg = '0' + strg return strg elif units == 'masec': return self.radians * self.__masperrad elif units == 'arcsec': return self.radians * self.__arcsecperrad else: print 'ERROR: Unknown units string, radians used' return self.radians
def __getClassifyMusic__(self, soup): try: for node in soup.find_all('div', class_='song-item'): music_album = "" music_singer = "" songTitle = node.find_all('span', class_='song-title')[0].find('a') music_name = self.__getcontent__(songTitle, self.__CONTENT__) music_desc = self.__getcontent__(songTitle, self.__TITLE__) music_url = self.__getcontent__(songTitle, self.__HREF__) asongSinger = node.find_all('span', class_='singer') if asongSinger is not None and len(asongSinger) > 0: songSinger = asongSinger[0].find('a') if songSinger is not None and len(songSinger) > 0: music_singer = self.__getcontent__( songSinger, self.__TITLE__) asongAlbum = node.find_all('span', class_='album-title') if asongAlbum is not None and len(asongAlbum) > 0: songAlbum = asongAlbum[0].find('a') if songAlbum is not None and len(songAlbum) > 0: music_album = self.__getcontent__( songAlbum, self.__TITLE__) #插入mysql数据库 sql = "insert into music_record(UUID,music_name,music_singer,music_album,music_url_online,music_desc) values" params = [ UUIDUtil.getuuid(), StringUtil.replace(music_name, "'", " "), StringUtil.replace(music_singer, "'", " "), StringUtil.replace(music_album, "'", " "), StringUtil.replace(music_url, "'", " "), StringUtil.replace(music_desc, "'", " ") ] SQLUtil.insert(sql, params) #插入mongodb数据库 # MongoDBUtil.insert(musicName=music_name,musicSinger=music_singer,musicAlbum=music_album,musicUrlOnline=music_url,musicDesc=music_desc) # print music_name,music_singer,music_album,music_url,music_desc self.__getPageNum__(soup) except: print "error" finally: yield self.__getSongs__()
def get(self, units='radians'): """Gets radians value and converts according to units string 'radians' -- no conversion 'degrees' -- radians to decimal degrees 'dmsstr' -- radians to sexagesimal string degress as -DD:MM:SS.SSS 'hmsstr' -- radians to sexagesimal string hours as -HH:MM:SS.SSS 'masec' -- radians to milliarcseconds 'arcsec' -- radians to arcseconds 'dms' and 'hms' are aliases for 'dmsstr' and 'hmsstr' """ if units == 'radians': return self.radians elif units == 'degrees': return self.radians * self.__degperrad elif units == 'dmsstr' or units == 'dms': # String in the form -DD:MM:SS.SSS strg = su.dmsStrFromDeg(self.radians * self.__degperrad, precision=3) if len(strg) == 11: # Need to add missing zero and space strg = ' 0'+strg elif len(strg) == 12: # Need to add missing zero or space if strg[0] == '-': strg = strg[0]+'0'+strg[1:] else: strg = ' '+strg return strg elif units == 'hmsstr' or units == 'hms': # String in the form -HH:MM:SS.SSS strg = su.dmsStrFromDeg(self.radians * self.__degperrad / 15., precision=3) if len(strg) == 11: # Need to add missing zero strg = '0'+strg return strg elif units == 'masec': return self.radians * self.__masperrad elif units == 'arcsec': return self.radians * self.__arcsecperrad else: print 'ERROR: Unknown units string, radians used' return self.radians
def __init__( self, obj ) : if isinstance( obj, str ) or isinstance( obj, unicode ) : obj = StringUtil.dependencyNodeFromString( obj ) elif isinstance( obj, maya.OpenMaya.MObjectHandle ) : assert( obj.isValid() ) obj = obj.object() maya.OpenMaya.MFnDagNode.__init__( self, obj )
def set(self, value=0.0, units='radians'): """Sets radians value, converting according to units string 'radians' -- no conversion 'degrees' -- decimal degrees to radians 'dmsstr' -- sexagesimal string degress as -DD:MM:SS.SSS to radians 'hmsstr' -- sexagesimal string hours as -HH:MM:SS.SSS to radians 'masec' -- milliarcseconds to radians 'arcsec' -- arcseconds to radians 'dms' and 'hms' are aliases for 'dmsstr' and 'hmsstr' """ if units == 'radians': self.radians = value elif units == 'degrees': self.radians = value / self.__degperrad elif units == 'dmsstr' or units == 'dms': # String in the form -DD:MM:SS.SSS self.radians = su.secFromDMSStr(value) / self.__arcsecperrad elif units == 'hmsstr' or units == 'hms': # String in the form -HH:MM:SS.SSS self.radians = su.secFromDMSStr(value) * 15. / self.__arcsecperrad elif units == 'masec': self.radians = value / self.__masperrad elif units == 'arcsec': self.radians = value / self.__arcsecperrad else: print 'ERROR: Unknown units string, radians used' self.radians = value # If modulo bool is set, make sure the value of radians # is between 0, 2pi if self.modulo: radians = self.radians twopi = self.__twopi while radians >= twopi: radians -= twopi while radians < 0.0: radians += twopi self.radians = radians
def _despatchSetClassVectorParameterClassesCallbacks( cls, plugPath ) : # This function gets called deferred (on idle) from ParameterisedHolderSetClassParameterCmd.cpp. # Because of the deferred nature of the call, it's possible that the plug has been destroyed before # we're called - in this case we just don't despatch callbacks. ## \todo It might be better to not defer the call to this function, and have any callbacks which # need deferred evaluation (the ui callbacks in ClassVectorParameterUI for instance) arrange for that # themselves. if not maya.cmds.objExists( plugPath ) : return fnPH = FnParameterisedHolder( StringUtil.nodeFromAttributePath( plugPath ) ) parameter = fnPH.plugParameter( plugPath ) for c in cls.__setClassVectorParameterClassesCallbacks : c( fnPH, parameter )
def getLogsFromProject(localDir, timeFrom, timeTo): #repo = git.Repo.clone_from(self._small_repo_url(), os.path.join(rw_dir, "repo"), branch="master") repo = Repo(localDir) assert not repo.bare # 版本库是否为空版本库 heads = repo.heads master = heads.master # lists can be accessed by name for convenience #master.commit g = git.Git(localDir) # "--pretty=tformat:" raw "--numstat" --author="John\|Mary”,Marry和John git log -- *.cs bar.py 文件名应该放到参数的最后位置 #--grep="JRA-224" 可以传入-i用来忽略大小写, 同时使用--grep和--author,必须加一个--all-match参数 keyDate = "Date " keyAuthor = "Author " keyAuthorLen = len(keyAuthor) log = g.log("--since=" + timeFrom, "--no-merges", "--oneline", "--pretty=tformat:" + keyDate + "%ci\n" + keyAuthor + "%ce", "--name-status", "*.cs") logList = log.split("\n") #print("----------") #print(log) changeInfoDic = {} authorEmail = "" for logLine in logList: logLine = logLine.strip() if logLine == "": continue #logLine = logLine.expandtabs() contents = logLine.split('\t') contentLen = len(contents) if contentLen > 1: modifiedFilePath = contents[contentLen - 1] #print("%s" % (modifiedFilePath)) changeInfoDic[modifiedFilePath] = authorEmail elif logLine.startswith(keyAuthor): authorEmail = logLine[keyAuthorLen:] if not StringUtil.isEmail(authorEmail): print("Invalid email address: %s" % (authorEmail)) #assert False else: contents = logLine.split(' ') #if logLine.find('M') == 0: #print("%i===%s" % (len(contents), logLine)) return changeInfoDic
def ParseSnoptFiles(todir): compareFileName = "NewCompare.txt" outFile = open(compareFileName, 'w') outFile.truncate() for root, dirs, files in os.walk(todir): for filename in files: base, extension = os.path.splitext(filename) if (extension == ".snopt"): testName = base[:-4] with open(todir + "/" + filename) as data: for line in data: text = su.TextAfter(line, searchStrings) if text != "": value = text testline = testName + "\t" + value outFile.write(testline) outFile.close()
def parse(input): import StringUtil, LumberjackConstants as L str = input[:-1].split('\t') #global a #a += 1 #print(a) map = {} # time? if len(str) < 2: return {} pairList = str[1].split('&') for p in pairList: pair = p.split('=') if (len(pair) > 1): #map[pair[0]] = pair[1].decode('utf-8') #encoded = encoded.replace('%C3%83%C2%87'.encode('utf-8'), '%C3%87') # c map[pair[0]] = StringUtil.getFixedEncodingValue(pair[1])#.encode('utf-8') #keyword = URLDecoder.decode(StringUtil.getFixedEncodingValue(pair[1])), 'utf-8') #(pair(0) -> keyword) else: map[len(map.keys())] = pair[0] memberId = '0' if (L.KEY_USER_ID in map): memberId = map[L.KEY_USER_ID] elif ((L.KEY_USER_ID_FROM_COOKIE) in map): if (',' in map[L.KEY_USER_ID_FROM_COOKIE]): values = map[L.KEY_USER_ID_FROM_COOKIE].split(',') if (len(values) == 2): memberId = values[1] else: memberId = '0' else: memberId = map[L.KEY_USER_ID_FROM_COOKIE] else: memberId = '0' if not memberId == '0': map[L.KEY_USER_ID_FOUND] = memberId map[L.KEY_TIMESTAMP] = str[0] return map
def __init__(self, layoutName, classNameOrParameterised, classVersion=None, envVarName=None): """ Creates a temporary TransientParameterisedHolderNode in order to present the UI for the specified parameterised object in the given layout. The node is automatically deleted when the holding layout is destroyed """ nodeName = maya.cmds.createNode("ieTransientParameterisedHolderNode", skipSelect=True) # Script jobs aren't available from maya.cmds. Maya Python bindings generate swig warnings # such as "swig/python detected a memory leak of type 'MCallbackId *', no destructor found" IECoreMaya.mel('scriptJob -uiDeleted "%s" "delete %s" -protected' % (layoutName, nodeName)) object = StringUtil.dependencyNodeFromString(nodeName) maya.OpenMaya.MFnDependencyNode.__init__(self, object) if isinstance(classNameOrParameterised, str): res = _IECoreMaya._parameterisedHolderSetParameterised( self, classNameOrParameterised, classVersion, envVarName) else: assert (not classVersion) assert (not envVarName) res = _IECoreMaya._parameterisedHolderSetParameterised( self, classNameOrParameterised) parameterised = self.getParameterised()[0] if parameterised: maya.cmds.setParent(layoutName) IECoreMaya.ParameterUI.create(object, parameterised.parameters()) maya.cmds.setParent(layoutName) return res
def ReadQuestion(self): try: selectItem = self.subjectListTree.currentItem() nodeID = selectItem.text(1) nodeText = selectItem.text(0) #获取父节点 parentItem = selectItem.parent() while 1: if parentItem == None: break parentItem = selectItem.parent() if parentItem == None: km = nodeText else: km = parentItem.text(0) child_ids = self.ReadChildIDs(nodeID) child_ids.append(nodeID) condition = StringUtil.ChangeListToCondition(child_ids) #if condition=="": except Exception as e: print("读取试题发生错误:" + e.Message)
def plugParameter( self, plug ) : if isinstance( plug, str ) or isinstance( plug, unicode ) : plug = StringUtil.plugFromString( plug ) return _IECoreMaya._parameterisedHolderPlugParameter( self, plug )
import StringUtil texto = input("Digite um texto :") StringUtil.output(texto) StringUtil.tamanho(texto) StringUtil.maiusculo(texto) StringUtil.minusculo(texto)
def GetTabName(self): """タブコントロールに表示する名前""" word = "ほにゃぺけからほにゃぺけへの貼り付け" word = StringUtil.GetLimitedString( word, globalVars.app.config["view"]["header_title_length"]) return word
import StringUtil Texto = input("Digite o texto: ") #Imprimir tamanho StringUtil.Output(Texto) StringUtil.Output(StringUtil.Tamanho(Texto)) #Imprimir Maiusculo StringUtil.Output(StringUtil.Maiusculo(Texto)) #Imprimir Minusculo StringUtil.Output(StringUtil.Minusculo(Texto)) Letra = input("Digite uma letra: ") StringUtil.Contador(Letra,Texto)
def __init__(self, object): if isinstance(object, str) or isinstance(object, unicode): object = StringUtil.dependencyNodeFromString(object) maya.OpenMaya.MFnDependencyNode.__init__(self, object)
def __init__(self, object): if isinstance(object, basestring): object = StringUtil.dagPathFromString(object) maya.OpenMaya.MFnDagNode.__init__(self, object)
def plugParameter(self, plug): if isinstance(plug, str) or isinstance(plug, unicode): plug = StringUtil.plugFromString(plug) return _IECoreMaya._parameterisedHolderPlugParameter(self, plug)
def __init__(self, object): if isinstance(object, str) or isinstance(object, unicode): object = StringUtil.dependencyNodeFromString(object) maya.OpenMaya.MFnDagNode.__init__(self, object)
def get27Keywords(): keywords = open('keywords27', 'rb').readlines() import StringUtil keywords = [StringUtil.convertTrChars(keyword.decode("utf-8")).replace('\n', '').lower() for keyword in keywords] return keywords