Example #1
0
 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()
Example #2
0
 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)
Example #3
0
 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)
Example #4
0
 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
Example #5
0
        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:
Example #6
0
def printprogress(percent):
   barlen = percent * 0.8
   print '\r' + '#' * int(barlen) + '-' * (80 - int(barlen)) + ' ' + str(percent) + '%'
   if complete == 100:
       logger.info('File complete')
Example #7
0
    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()]