Ejemplo n.º 1
0
max_num_of_repos = 2000

current_directory = os.path.dirname(os.path.realpath(__file__))
log_folder = current_directory + "/logs/"
log_filename = log_folder + datetime.now().strftime("%H-%M-%S") + '.log'
consoleHandler = logging.StreamHandler()
consoleHandler.setLevel(logging.INFO)
logging.basicConfig(filename=log_filename, level=logging.WARNING)
logging.getLogger().addHandler(consoleHandler)

database_repos = Miner.getRepos(
    max_num_of_repos, current_directory + '/datasource.db')
repo_name_path = Miner.downloadRepos(database_repos)

Use this for only pre-downloaded repos. Ignoring Database
repo_name_path = Miner.getOfflineRepos()


def executeMining():
    SQLiteSerializer.setup()
    projects = []

    # Static analysis
    failed = []
    for name, path in repo_name_path:
        try:
            project = Project.createProject(path, name)
            projects.append(project)
            logging.info("Serializing Project " + name)
            SQLiteSerializer.serializeProject(project)
        except: