def download(self): if self.key == 'master': url = RELO_UPDATE_URL_MASTER elif self.key == 'develop': url = RELO_UPDATE_URL_DEVELOP logger.info('Download URL - %s' % url) self.localPath = os.path.join(os.getcwd(), 'tmp', 'relo-%s.tar.gz' % self.remoteVersion) try: curl(url, self.localPath) except: logger.error('Download error.') sys.exit()
def filter(self): if self.all: logger.info("No filter applied") self.filteredList = self.fileList elif not self.doctype is None: logger.log("Selecting DocType files...") self.filteredList = util.filterDocType(self.fileList, self.doctype) else: logger.log("Filtering file types...") self.filteredList = util.filterList(self.fileList) for itempath in self.filteredList: item = util.getFileType(itempath) if item not in self.extList: self.extList.append(item)
def list(self): widgets = ["Listing directory content... ", Bar('>'), ' ', RotatingMarker(), ' ', ReverseBar('<')] pbar = ProgressBar(widgets=widgets, maxval=100).start() pbar.update(0) time.sleep(0.5) if self.recursive: logger.debug("Listing directory content recursively...") pbar.update(20) time.sleep(1) self.total_size, self.fileList = util.recursiveListFiles(self.dir, self.hidden) else: logger.debug("Listing directory content...") pbar.update(20) time.sleep(1) self.total_size, self.fileList = util.listFiles(self.dir, self.hidden) pbar.update(100) pbar.finish() logger.debug("Supported File Types: " + repr(doctype.__all__)) logger.info("Size of directory - %d" % self.total_size)
def check(self): if self.key == 'master': url = RELO_MASTER_VERSION_URL elif self.key == 'develop': url = RELO_DEVELOP_VERSION_URL remote = urllib.urlopen(url) self.remoteVersion = remote.read() try: float(self.remoteVersion) except: logger.error('Could not determine remote version.') sys.exit() logger.info('Local Version - ' + self.localVersion) logger.info('Remote Version - ' + self.remoteVersion) if float(self.remoteVersion) > float(self.localVersion): logger.log("Found new version: " + self.remoteVersion) return True else: logger.head("Already Up-To-Date") return False
crawler = rawl.Crawler(url, 16) crawler.crawl() print "\n".join(crawler.urls) eTime = time.time() tTime = eTime - sTime print "Found: %d" % crawler.links print "Followed: %d" % crawler.followed print "Stats: (%d/s after %0.2fs)" % (int(math.ceil(float(crawler.links) / tTime)), tTime) ########## SEARCH ########## elif results.which == 'search': check = checkIndex(results.directory) if check is not None and not results.forceSearch: logger.info("Index found.") search = IndexSearch(results.directory, results.search_key) if results.content: search.contentSearch() else: search.nameSearch() search.printResult() else: search = Search(results.info, results.debug, results.all, results.hidden, results.filelog, results.content, results.recursive, results.doctype, results.directory, results.search_key) search.list() search.filter() search.start() ########## INDEX ########## elif results.which == 'index': if results.meta:
def printprogress(percent): barlen = percent * 0.8 print '\r' + '#' * int(barlen) + '-' * (80 - int(barlen)) + ' ' + str(percent) + '%' if complete == 100: logger.info('File complete')
def __init__(self, info=False, debug=False, all=False, hidden=False, filelog=False, content=False, recursive=False, doctype=None, directory='./', key=''): """ Main Relo class """ self.name = "relo" self.info = info self.debug = debug self.filelog = filelog self.all = all self.hidden = hidden self.recursive = recursive self.doctype = doctype self.dir = directory self.key = key if content: self.type = "content Search" else: self.type = "fileName Search" logger.info("Relo: version %s" % core.config.get_version()) if self.info: logger.info("Mode: Info") elif self.debug: logger.info("Mode: Debug") else: logger.info("Mode: Normal") logger.info("All Files: " + str(bool(self.all))) if self.doctype is None: logger.info("Special DocType: None") else: logger.info("Special DocType: " + self.doctype) logger.info("Hidden Files: " + str(bool(self.hidden))) logger.info("Recursive: " + str(bool(self.recursive))) logger.info("Search Type: " + self.type) logger.info("Directory: " + self.dir) logger.info("Searching for: " + self.key) self.filteredList = [] self.extList = [] self.total_size = 0 self.fileList = [] logger.head("Relo Search | " + self.dir + " | '" + self.key + "'") #Main Progress Bar self.mainWidgets = ['Searching: ', Percentage(), ' ', Bar('>'), ' ', RotatingMarker()]