now filling the form with the fucking data. currently, unidentified

This commit is contained in:
benny
2024-06-20 19:00:42 +03:00
parent 212bfe0f02
commit 6844fe42bc
6 changed files with 279 additions and 47 deletions

80
main.go
View File

@@ -7,7 +7,7 @@ import (
"fmt"
"html/template"
"io"
"log"
"log/slog"
"net/http"
"os"
"strings"
@@ -15,22 +15,24 @@ import (
_ "modernc.org/sqlite" // Importing SQLite driver for database interaction.
)
var c chan bool
// readHtml function reads an HTML file and applies a CSS template to it before sending it to the client.
func readHtml(res http.ResponseWriter, req *http.Request) {
func readHtml(res http.ResponseWriter, _ *http.Request) {
g := template.CSS("./html/public/mod.css") // Define the CSS path.
f, err := template.ParseFiles("./html/wsb.html") // Parse the HTML file.
if err != nil {
log.Println(err) // Log any errors encountered.
slog.Error(err.Error())
// Log any errors encountered.
}
err = f.Execute(res, g) // Execute the template with the CSS and send it to the client.
if err != nil {
log.Println(err) // Log any errors encountered.
slog.Error(err.Error())
// Log any errors encountered.
}
}
// simpRequestResp sends a simple response to the client.
func simpRequestResp(res http.ResponseWriter, req *http.Request) {
func simpRequestResp(res http.ResponseWriter, _ *http.Request) {
fmt.Fprint(res, "Hello, M'Lord", 153*4, " I'm here to serveè") // Print a formatted string to the client.
}
@@ -58,13 +60,13 @@ func queryPacks(sqldb *sql.DB, element *elements) []packages {
defer res.Close() // Ensure the result set is closed after the function returns.
err = res.Err() // Check for any errors during query execution.
if err != nil {
log.Panicln(err) // Log and panic on any errors.
slog.Error(err.Error()) // Log and panic on any errors.
}
for res.Next() {
npkg := packages{} // Create a new package instance.
err := res.Scan(&npkg.Id, &npkg.Name, &npkg.Version, &npkg.ExtraCommand, &npkg.Tag, &npkg.Warning) // Scan the result into the package instance.
if err != nil {
log.Fatalln(err) // Log and exit on any errors.
slog.Error(err.Error()) // Log and exit on any errors.
}
npkg.Element = element // Associate the element with the package.
pkgs = append(pkgs, npkg) // Append the package to the slice.
@@ -82,7 +84,8 @@ func queryDatabase(sqldb *sql.DB, queryRow string) []string {
var values []string
err := res.Scan(&values)
if err != nil {
log.Println(err)
slog.Error(err.Error())
}
return values
}
@@ -118,7 +121,7 @@ func searchDownloads(sqldb *sql.DB, table string, columns ...string) []DownloadE
defer runquery.Close()
err = runquery.Err()
if err != nil {
log.Fatalln(err)
slog.Error(err.Error())
}
var elems []DownloadElements
var e DownloadElements
@@ -163,11 +166,13 @@ func stats(sqldb *sql.DB, lang string) http.Handler {
}
templates, err := template.ParseFiles("html/master.html", "html/statsitics.html")
if err != nil {
log.Println(err)
slog.Error(err.Error())
}
err = templates.ExecuteTemplate(res, "master", Counter)
if err != nil {
log.Println(err)
slog.Error(err.Error())
}
res.WriteHeader(http.StatusOK)
})
@@ -181,20 +186,21 @@ func getPkgIdFromDB(sqldb *sql.DB) []string {
defer query.Close()
err = query.Err()
if err != nil {
log.Println(err)
slog.Error(err.Error())
}
var pkgs []string
var tmpstr string
for query.Next() {
err = query.Scan(&tmpstr)
if err != nil {
log.Println(err)
slog.Error(err.Error())
}
pkgs = append(pkgs, tmpstr)
}
// query.Scan(&pkgs)
if err != nil {
log.Println(err)
slog.Error(err.Error())
}
return pkgs
}
@@ -238,11 +244,11 @@ func uploadFileForServer(sqldb *sql.DB, lang string) http.Handler{
}
templates, err := template.ParseFiles("html/master.html", "html/uploadfile.html")
if err != nil {
log.Println(err)
slog.Error(err.Error())
}
err = templates.ExecuteTemplate(res, "master", data)
if err != nil {
log.Println(err)
slog.Error(err.Error())
}
// upload(res, req)
res.WriteHeader(http.StatusOK)
@@ -261,7 +267,7 @@ func upload() http.Handler {
fn,_:=os.OpenFile("Data/"+filename, os.O_WRONLY|os.O_CREATE, 0666)
defer fn.Close()
fn.Write(fileBytes)
log.Println(getDataFromFile("Data/"+filename))
slog.Info(fmt.Sprint(getDataFromFile("Data/"+filename)))
})}
// index creates an HTTP handler that serves the main page with data from the database.
@@ -294,11 +300,11 @@ func index(sqldb *sql.DB, lang string) http.Handler {
templates, err := template.ParseFiles("html/master.html", "html/main.html")
if err != nil {
log.Println(err)
slog.Error(err.Error())
}
err = templates.ExecuteTemplate(res, "master", data)
if err != nil {
log.Println(err)
slog.Error(err.Error())
}
res.WriteHeader(http.StatusOK)
@@ -315,13 +321,30 @@ func public() http.Handler {
// main initializes the application, sets up logging, database connection, HTTP routing, and starts the server.
func main() {
logfilename := "Logs/" + time.Now().Format("2006-01-02--15-04-05") + ".log"
file, err := os.OpenFile(logfilename, os.O_APPEND|os.O_CREATE, 0777)
if err != nil {
os.Exit(12)
}
log.SetOutput(file)
// Check if the directory exists
if _, err := os.Stat("Logs/"); os.IsNotExist(err) {
// Create your directory if it does not exist
err = os.Mkdir("Logs/", 0755)
if err != nil {
fmt.Println(err)
}
}
handlerOpts := &slog.HandlerOptions{
Level: slog.LevelDebug,
}
logfilename := "Logs/" + time.Now().Format("2006-01-02--15-04-05") + ".log"
file, err := os.OpenFile(logfilename, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0777)
defer file.Close()
log:=slog.New(slog.NewTextHandler(file,handlerOpts ))
slog.SetDefault(log)
if err != nil {
panic(err)
}
// Write a log entry
slog.Info("This is a test log entry")
db, _ := sql.Open("sqlite", "file:progs.db")
mux := http.NewServeMux()
mux.Handle("/public/", public())
@@ -330,6 +353,7 @@ func main() {
mux.Handle("/stats", stats(db,"eng"))
mux.Handle("/up", uploadFileForServer(db,"eng"))
mux.Handle("/upload",upload())
mux.Handle("/pkg",getJson(db))
addr := fmt.Sprintf(":%s", "12312")
server := http.Server{
Addr: addr,
@@ -340,9 +364,9 @@ func main() {
}
if err := server.ListenAndServe(); err != nil {
log.Fatalf("main: couldn't start simple server: %v\n", err)
log.Error("main: couldn't start simple server: %v\n", err)
}
lang := "heb"
log.Println(getMsgFromDB(db, "title", lang))
log.Info(getMsgFromDB(db, "title", lang))
}