-
Notifications
You must be signed in to change notification settings - Fork 0
/
initproject.py
executable file
·64 lines (57 loc) · 2.33 KB
/
initproject.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/usr/bin/env python3
import os
import sys
import time
from selenium import webdriver
import configparser
default_path = ""
github_username = ""
github_password = ""
project_name = str(sys.argv[1])
def read_config_file():
global github_username, github_password, default_path
config = configparser.ConfigParser()
config.read('giteverything.ini')
github_username = config["DEFAULT"]["GithubUsername"]
github_password = config["DEFAULT"]["GithubPassword"]
default_path = config["DEFAULT"]["ProjectDirectory"]
print("Use Username " + github_username)
print("Use password " + github_password)
def login_to_github():
global github_username, github_password, default_path
print("Login to github.com...")
browser.get("https://github.com/login")
field_user_name = browser.find_elements_by_xpath("//*[@id='login_field']")[0]
field_user_name.send_keys(github_username)
field_user_pw = browser.find_elements_by_xpath("//*[@id='password']")[0]
field_user_pw.send_keys(github_password)
btn_login = browser.find_elements_by_xpath("//*[@name='commit']")[0]
btn_login.click()
def create_remote_repository():
global github_username, github_password, default_path
print("Creating repo on github.com...")
browser.get("https://github.com/new")
field_repo_name = browser.find_elements_by_xpath("//*[@name='repository[name]']")[0]
field_repo_name.send_keys(project_name)
toggle_private = browser.find_elements_by_xpath("//*[@id='repository_visibility_private']")[0]
toggle_private.click()
toggle_readme = browser.find_elements_by_xpath("//*[@id='repository_auto_init']")[0]
toggle_readme.click()
btn_create_repo = browser.find_element_by_xpath("//button[contains(text(),'Create repository')]")
btn_create_repo.submit()
def clone_repo():
global github_username, github_password, default_path
print("Cloning repo to local machine...")
os.chdir(default_path)
os.system("git clone git@github.com:" + github_username + "/" + project_name + ".git")
if __name__ == "__main__":
print("Create new project '" + project_name + "' at '" + default_path + "'.")
read_config_file()
browser = webdriver.Chrome("./chromedriver")
try:
login_to_github()
create_remote_repository()
except:
print("Something failed")
browser.quit()
clone_repo()