mirror of
https://github.com/Relintai/pandemonium_engine_easy_charts.git
synced 2025-01-17 14:47:24 +01:00
This commit is contained in:
parent
036d7b3a40
commit
08bee74671
@ -1,129 +0,0 @@
|
||||
tool
|
||||
extends Control
|
||||
|
||||
signal signed()
|
||||
|
||||
onready var Mail : LineEdit = $FieldContainer/signin_panel/Mail
|
||||
onready var Token : LineEdit = $FieldContainer/signin_panel/Password
|
||||
onready var Error = $FieldContainer/signin_panel/error
|
||||
onready var logfile_icon = $FieldContainer/signin_panel/HBoxContainer3/logfile
|
||||
|
||||
onready var btnSignIn = $FieldContainer/signin_panel/HBoxContainer3/btnSignIn
|
||||
onready var btnCreateToken = $FieldContainer/signin_panel/Token/btnCreateToken
|
||||
|
||||
onready var DeleteDataBtn = $FieldContainer/signin_panel/DeleteDataBtn
|
||||
onready var DeletePopup : ConfirmationDialog = $DeletePopup
|
||||
onready var DeleteHover : ColorRect = $DeleteHover
|
||||
onready var signin_request = $SignInRequest
|
||||
onready var download_image = $DownloadRequest
|
||||
|
||||
var mail : String
|
||||
var token : String
|
||||
var auth
|
||||
enum REQUESTS { LOGIN = 0, AVATAR = 1, END = -1 , USER = 2 }
|
||||
var requesting
|
||||
var user_data
|
||||
|
||||
var logfile = false
|
||||
|
||||
onready var Client : HTTPClient = HTTPClient.new()
|
||||
|
||||
func _ready():
|
||||
btnSignIn.set_disabled(true)
|
||||
|
||||
logfile_icon.hide()
|
||||
Error.hide()
|
||||
btnSignIn.connect("pressed",self,"sign_in")
|
||||
btnCreateToken.connect("pressed",self,"create_token")
|
||||
signin_request.connect("request_completed",self,"signin_completed")
|
||||
download_image.connect("request_completed",self,"signin_completed")
|
||||
|
||||
DeleteDataBtn.connect("pressed",self,"_on_delete_pressed")
|
||||
DeletePopup.connect("confirmed",self,"_on_delete_confirm")
|
||||
DeletePopup.connect("popup_hide", self, "close_popup")
|
||||
|
||||
DeleteDataBtn.disabled = true
|
||||
|
||||
if UserData.load_user().size() > 0:
|
||||
logfile = true
|
||||
logfile_icon.show()
|
||||
DeleteDataBtn.disabled = false
|
||||
|
||||
func set_darkmode(darkmode : bool):
|
||||
if darkmode:
|
||||
$BG.color = "#24292e"
|
||||
set_theme(load("res://addons/github-integration/resources/themes/GitHubTheme-Dark.tres"))
|
||||
else:
|
||||
$BG.color = "#f6f8fa"
|
||||
set_theme(load("res://addons/github-integration/resources/themes/GitHubTheme.tres"))
|
||||
|
||||
func create_token():
|
||||
OS.shell_open("https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line")
|
||||
|
||||
func sign_in():
|
||||
get_parent().print_debug_message("logging in...")
|
||||
|
||||
if !logfile:
|
||||
mail = Mail.text
|
||||
token = Token.text
|
||||
if mail!="" and token!="":
|
||||
get_parent().loading(true)
|
||||
auth = Marshalls.utf8_to_base64(mail+":"+token)
|
||||
requesting = REQUESTS.LOGIN
|
||||
signin_request.request("https://api.github.com/user",["Authorization: token "+token],false,HTTPClient.METHOD_GET,"")
|
||||
else:
|
||||
get_parent().print_debug_message("Bad credentials - you need to insert your e-mail and token.",1)
|
||||
else:
|
||||
Mail.text = "<logfile.mail>"
|
||||
Token.text = "<logfile.password>"
|
||||
get_parent().loading(true)
|
||||
emit_signal("signed")
|
||||
yield(get_parent().UserPanel,"completed_loading")
|
||||
requesting = REQUESTS.END
|
||||
get_parent().loading(false)
|
||||
hide()
|
||||
|
||||
func signin_completed(result, response_code, headers, body ):
|
||||
if result == 0:
|
||||
match requesting:
|
||||
REQUESTS.LOGIN:
|
||||
if response_code == 200:
|
||||
Error.hide()
|
||||
user_data = JSON.parse(body.get_string_from_utf8()).result
|
||||
download_image.request(user_data.avatar_url)
|
||||
requesting = REQUESTS.AVATAR
|
||||
elif response_code == 401:
|
||||
set_process(false)
|
||||
get_parent().loading(true)
|
||||
Error.show()
|
||||
Error.text = "Error: "+str((JSON.parse(body.get_string_from_utf8()).result).message)
|
||||
get_parent().print_debug_message("Bad credentials - incorrect username or token.",1)
|
||||
get_parent().loading(false)
|
||||
REQUESTS.AVATAR:
|
||||
UserData.save(user_data,body,auth,token,mail)
|
||||
emit_signal("signed")
|
||||
yield(get_parent().UserPanel,"completed_loading")
|
||||
requesting = REQUESTS.END
|
||||
get_parent().loading(true)
|
||||
hide()
|
||||
get_parent().loading(false)
|
||||
|
||||
func _on_singup_pressed():
|
||||
OS.shell_open("https://github.com/join?source=header-home")
|
||||
|
||||
|
||||
func _on_wiki_pressed():
|
||||
OS.shell_open("https://github.com/fenix-hub/godot-engine.github-integration/wiki")
|
||||
|
||||
func _on_delete_pressed():
|
||||
DeletePopup.popup()
|
||||
DeleteHover.show()
|
||||
|
||||
func _on_delete_confirm():
|
||||
UserData.delete_user()
|
||||
logfile = false
|
||||
logfile_icon.hide()
|
||||
DeleteDataBtn.disabled = true
|
||||
|
||||
func close_popup() :
|
||||
DeleteHover.hide()
|
Loading…
Reference in New Issue
Block a user