Examples

Below you can find some examples to import and export data using Gitana. Additional examples can be found in the test folder

Importer

from gitana.gitana import Gitana

CONFIG = {
    'user': 'root',
    'password': 'root',
    'host': 'localhost',
    'port': '3306',
    'raise_on_warnings': False,
    'buffered': True
}


def main():
        g = Gitana(CONFIG, None)
        g.delete_previous_logs()
        g.init_db("_papyrus_db")
        g.create_project("_papyrus_db", "papyrus")
        print "import git data"
        g.import_git_data("_papyrus_db", "papyrus", "papyrus_repo", "C:\\Users\\atlanmod\\Desktop\\eclipse-git-projects\\papyrus", None, 1, ["0.7.0"], 10)
        print "import bugzilla data"
        g.import_bugzilla_tracker_data("_papyrus_db", "papyrus", "papyrus_repo", "bugzilla-papyrus", "https://bugs.eclipse.org/bugs/xmlrpc.cgi", "papyrus", None, 10)
        print "import eclipse forum data"
        g.import_eclipse_forum_data("_papyrus_db", "papyrus", "papyrus-eclipse", "https://www.eclipse.org/forums/index.php/f/121/", None, 4)
        print "import stackoverflow data"
        g.import_stackoverflow_data("_papyrus_db", "papyrus", "papyrus-stackoverflow", "papyrus", None, ['YOUR-STACKOVERFLOW-TOKEN'])

if __name__ == "__main__":
        main()

Graph Exporter

{"graph":
        {"name": "users-on-issues",
         "params": {"project": "papyrus",
                                "repo": "papyrus_repo",
                                "issuetracker": "bugzilla-papyrus",
                                "nodecolor": "random",
                                "edgecolor": "black",
                                "type": "undirected"}
         }
}
from gitana.gitana import Gitana

CONFIG = {
                        'user': 'root',
                        'password': 'root',
                        'host': 'localhost',
                        'port': '3306',
                        'raise_on_warnings': False,
                        'buffered': True
                }


def main():
        g = Gitana(CONFIG, None)
        g.export_to_graph("_papyrus_db", "./graph.json", "./graph.gexf")

if __name__ == "__main__":
        main()

Report Exporter

{"report":
        {"project": "papyrus",
         "time_span": "this_year",
         "repo_activity": {"names": ["papyrus_repo"],
                                           "measures": ["#commits", "#repo-users"]},
         "issue_tracker_activity": {"names": ["bugzilla-papyrus"],
                                                                "measures": ["#issues-open", "#issues-closed", "#issue-tracker-users"]},
         "forum_activity": {"names": ["papyrus-eclipse", "papyrus-stackoverflow"],
                                                "measures": ["#messages", "#forum-users", "#new-topics", "#active-topics"]}
         }
}
from gitana.gitana import Gitana

CONFIG = {
                        'user': 'root',
                        'password': 'root',
                        'host': 'localhost',
                        'port': '3306',
                        'raise_on_warnings': False,
                        'buffered': True
                }


def main():
        g = Gitana(CONFIG, None)
        g.export_to_report("_papyrus_db", "./report.json", "./report.html")

if __name__ == "__main__":
        main()