mirror of
https://github.com/Starlio-app/StarlioX
synced 2025-02-24 23:31:26 +03:00
change name folder, project file optimization
This commit is contained in:
parent
b9ffe9611e
commit
3463c8af8c
9 changed files with 43 additions and 57 deletions
11
utils/connect.go
Normal file
11
utils/connect.go
Normal file
|
@ -0,0 +1,11 @@
|
|||
package utils
|
||||
|
||||
import "net/http"
|
||||
|
||||
func Connected() (ok bool) {
|
||||
_, err := http.Get("http://clients3.google.com/generate_204")
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
55
utils/createLnk.go
Normal file
55
utils/createLnk.go
Normal file
|
@ -0,0 +1,55 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/go-ole/go-ole"
|
||||
"github.com/go-ole/go-ole/oleutil"
|
||||
)
|
||||
|
||||
func CreateLnk(src, dst string) error {
|
||||
err := ole.CoInitializeEx(0, ole.COINIT_APARTMENTTHREADED|ole.COINIT_SPEED_OVER_MEMORY)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
oleShellObject, err := oleutil.CreateObject("WScript.Shell")
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
defer oleShellObject.Release()
|
||||
wshell, err := oleShellObject.QueryInterface(ole.IID_IDispatch)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
defer wshell.Release()
|
||||
cs, err := oleutil.CallMethod(wshell, "CreateShortcut", dst)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
idispatch := cs.ToIDispatch()
|
||||
_, err = oleutil.PutProperty(idispatch, "TargetPath", src)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
dir, err := os.Getwd()
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
_, err = oleutil.PutProperty(idispatch, "WorkingDirectory", dir)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
_, err = oleutil.CallMethod(idispatch, "Save")
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
74
utils/database.go
Normal file
74
utils/database.go
Normal file
|
@ -0,0 +1,74 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
func Database() {
|
||||
db, err := sql.Open("sqlite3", "EveryNasa.db")
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
if !TableExists(db, "settings") {
|
||||
sqlTable := `
|
||||
CREATE TABLE IF NOT EXISTS settings (
|
||||
startup INTEGER DEFAULT 0,
|
||||
wallpaper INTEGER DEFAULT 0,
|
||||
save_logg INTEGER DEFAULT 1
|
||||
);`
|
||||
|
||||
_, err = db.Exec(sqlTable)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
stmt, err := db.Prepare("INSERT INTO settings(startup, wallpaper, save_logg) values(?,?,?)")
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
_, err = stmt.Exec(0, 0, 1)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
if !TableExists(db, "favorite") {
|
||||
sqlTable := `
|
||||
CREATE TABLE IF NOT EXISTS favorite (
|
||||
title TEXT,
|
||||
explanation TEXT,
|
||||
copyright TEXT,
|
||||
date TEXT,
|
||||
url TEXT,
|
||||
hdurl TEXT,
|
||||
media_type TEXT
|
||||
);`
|
||||
|
||||
_, err = db.Exec(sqlTable)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func GetDatabase() *sql.DB {
|
||||
db, err := sql.Open("sqlite3", "EveryNasa.db")
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
return db
|
||||
}
|
||||
|
||||
func TableExists(db *sql.DB, name string) bool {
|
||||
var exists bool
|
||||
err := db.QueryRow("SELECT EXISTS(SELECT name FROM sqlite_master WHERE type='table' AND name=?)", name).Scan(&exists)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
return exists
|
||||
}
|
19
utils/respondAPI.go
Normal file
19
utils/respondAPI.go
Normal file
|
@ -0,0 +1,19 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
func Message(status bool, message string) map[string]interface{} {
|
||||
return map[string]interface{}{"status": status, "message": message}
|
||||
}
|
||||
|
||||
func Respond(c *fiber.Ctx, data map[string]interface{}) {
|
||||
c.Set("Content-Type", "application/json")
|
||||
err := json.NewEncoder(c).Encode(data)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
}
|
108
utils/wallpaper.go
Normal file
108
utils/wallpaper.go
Normal file
|
@ -0,0 +1,108 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"time"
|
||||
|
||||
"github.com/jasonlvhit/gocron"
|
||||
"github.com/reujab/wallpaper"
|
||||
"github.com/rodkranz/fetch"
|
||||
)
|
||||
|
||||
func GetWallpaper(date string) string {
|
||||
type WallpaperStruct struct {
|
||||
Hdurl string `json:"hdurl"`
|
||||
Url string `json:"url"`
|
||||
Media_type string `json:"media_type"`
|
||||
}
|
||||
|
||||
client := fetch.NewDefault()
|
||||
res, err := client.Get("https://api.nasa.gov/planetary/apod?api_key=1gI9G84ZafKDEnrbydviGknReOGiVK9jqrQBE3et&date="+
|
||||
date,
|
||||
nil)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
body, err := res.ToString()
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
var Wallpaper WallpaperStruct
|
||||
err = json.Unmarshal([]byte(body), &Wallpaper)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
if Wallpaper.Media_type == "video" {
|
||||
return "https://img.youtube.com/vi/" + Wallpaper.Url[30:41] + "/maxresdefault.jpg"
|
||||
}
|
||||
|
||||
return Wallpaper.Hdurl
|
||||
}
|
||||
|
||||
func SetWallpaper() {
|
||||
times := time.Now()
|
||||
t := time.Date(times.Year(),
|
||||
times.Month(),
|
||||
times.Day(),
|
||||
times.Hour(),
|
||||
times.Minute(),
|
||||
times.Second(),
|
||||
times.Nanosecond(),
|
||||
time.UTC)
|
||||
|
||||
err := wallpaper.SetFromURL(GetWallpaper(t.Format("2006-01-02")))
|
||||
if err != nil {
|
||||
t = t.AddDate(0, 0, -1)
|
||||
err = wallpaper.SetFromURL(GetWallpaper(t.Format("2006-01-02")))
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func StartWallpaper() {
|
||||
type Autostart struct {
|
||||
Wallpaper int `json:"wallpaper"`
|
||||
}
|
||||
|
||||
client := fetch.NewDefault()
|
||||
res, err := client.Get("http://localhost:3000/api/get/settings", nil)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
body, err := res.ToString()
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
var AutostartSetWallpaper Autostart
|
||||
err = json.Unmarshal([]byte(body), &AutostartSetWallpaper)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
if AutostartSetWallpaper.Wallpaper == 1 {
|
||||
times := time.Now()
|
||||
t := time.Date(times.Year(),
|
||||
times.Month(),
|
||||
times.Day(),
|
||||
4,
|
||||
50,
|
||||
times.Second(),
|
||||
times.Nanosecond(),
|
||||
time.UTC)
|
||||
|
||||
SetWallpaper()
|
||||
|
||||
err = gocron.Every(1).Day().From(&t).Do(SetWallpaper)
|
||||
if err != nil {
|
||||
Logger(err.Error())
|
||||
}
|
||||
|
||||
gocron.Start()
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue