Refactor into client + server backends
This commit is contained in:
@@ -1,55 +0,0 @@
|
||||
package rest
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
|
||||
"github.com/op/go-logging"
|
||||
"github.com/restitux/ikinuki-server/database"
|
||||
)
|
||||
|
||||
var log = logging.MustGetLogger("ikinuki-server")
|
||||
|
||||
type GetEpisodes struct {
|
||||
Episodes []database.Episode
|
||||
}
|
||||
|
||||
func getEpisodesHandler(data_dir string, w http.ResponseWriter, r *http.Request) {
|
||||
log.Debugf("/get_episodes called\n")
|
||||
db, err := database.OpenDatabase(data_dir)
|
||||
if err != nil {
|
||||
log.Errorf("Could not open database: %v\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
rows, err := db.Query("SELECT title, show_title, number, season, original_filename FROM episodes")
|
||||
if err != nil {
|
||||
log.Errorf("Could not check if database was new: %v", err)
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
var return_json GetEpisodes
|
||||
|
||||
for {
|
||||
if !rows.Next() {
|
||||
err = rows.Err()
|
||||
if err != nil {
|
||||
log.Fatalf("Could not get row from database: %v\n", err)
|
||||
return
|
||||
} else {
|
||||
log.Debugf("%v rows processed\n", len(return_json.Episodes))
|
||||
break
|
||||
}
|
||||
}
|
||||
var episode database.Episode
|
||||
rows.Scan(&episode.Title, &episode.ShowTitle, &episode.Episode, &episode.Season, &episode.OriginalFilename)
|
||||
|
||||
return_json.Episodes = append(return_json.Episodes, episode)
|
||||
}
|
||||
data, err := json.Marshal(return_json)
|
||||
if err != nil {
|
||||
log.Errorf("Could not marshal episode data: %v\n", err)
|
||||
return
|
||||
}
|
||||
w.Write(data)
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
package rest
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
|
||||
"github.com/restitux/ikinuki-server/database"
|
||||
)
|
||||
type GetShows struct {
|
||||
Shows []database.TVShow
|
||||
}
|
||||
|
||||
func getShowsHandler(data_dir string, w http.ResponseWriter, r *http.Request) {
|
||||
log.Debugf("/get_shows called\n")
|
||||
db, err := database.OpenDatabase(data_dir)
|
||||
if err != nil {
|
||||
log.Errorf("Could not open database: %v\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
rows, err := db.Query("SELECT title, original_title, show_title, year FROM tvshows")
|
||||
if err != nil {
|
||||
log.Errorf("Could not check if database was new: %v", err)
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
var return_json GetShows
|
||||
|
||||
for {
|
||||
if !rows.Next() {
|
||||
err = rows.Err()
|
||||
if err != nil {
|
||||
log.Fatalf("Could not get row from database: %v\n", err)
|
||||
return
|
||||
} else {
|
||||
log.Debugf("%v rows processed\n", len(return_json.Shows))
|
||||
break
|
||||
}
|
||||
}
|
||||
var show database.TVShow
|
||||
rows.Scan(&show.Title, &show.OriginalTile, &show.ShowTitle, &show.Year)
|
||||
|
||||
return_json.Shows = append(return_json.Shows, show)
|
||||
}
|
||||
data, err := json.Marshal(return_json)
|
||||
if err != nil {
|
||||
log.Errorf("Could not marshal episode data: %v\n", err)
|
||||
return
|
||||
}
|
||||
w.Write(data)
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package rest
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
|
||||
"git.ohea.xyz/mediasrv/server/client_api"
|
||||
"git.ohea.xyz/mediasrv/server/server_api"
|
||||
"github.com/op/go-logging"
|
||||
)
|
||||
|
||||
var log = logging.MustGetLogger("mediasrv-server")
|
||||
|
||||
func RunServer(address string, port int, dataDir string, scanDir string) {
|
||||
mux := http.NewServeMux()
|
||||
|
||||
client_api.SetupHTTPServer(mux, dataDir)
|
||||
server_api.SetupHTTPServer(mux, scanDir)
|
||||
|
||||
connect_string := fmt.Sprintf("%v:%v", address, port)
|
||||
log.Noticef("Launching HTTP server on %v\n", connect_string)
|
||||
log.Fatal(http.ListenAndServe(connect_string, mux))
|
||||
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
package rest
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func setupHTTPServer(data_dir string) {
|
||||
http.HandleFunc("/get_episodes", func(w http.ResponseWriter, r *http.Request) {
|
||||
getEpisodesHandler(data_dir, w, r)
|
||||
})
|
||||
http.HandleFunc("/get_shows", func(w http.ResponseWriter, r *http.Request) {
|
||||
getShowsHandler(data_dir, w, r)
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
func RunHTTPServer(address string, port int, data_dir string) {
|
||||
|
||||
setupHTTPServer(data_dir)
|
||||
|
||||
connect_string := fmt.Sprintf("%v:%v", address, port)
|
||||
log.Noticef("Launching HTTP server on %v\n", connect_string)
|
||||
log.Fatal(http.ListenAndServe(connect_string, nil))
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user