mirror of
https://github.com/krateng/maloja.git
synced 2023-08-10 21:12:55 +03:00
Added some output for errors in import and start
This commit is contained in:
parent
5455abd0d1
commit
8ebd27ab76
@ -5,7 +5,7 @@ author = {
|
|||||||
"email":"maloja@dev.krateng.ch",
|
"email":"maloja@dev.krateng.ch",
|
||||||
"github": "krateng"
|
"github": "krateng"
|
||||||
}
|
}
|
||||||
version = 2,12,7
|
version = 2,12,8
|
||||||
versionstr = ".".join(str(n) for n in version)
|
versionstr = ".".join(str(n) for n in version)
|
||||||
links = {
|
links = {
|
||||||
"pypi":"malojaserver",
|
"pypi":"malojaserver",
|
||||||
|
@ -40,7 +40,7 @@ def start():
|
|||||||
|
|
||||||
port = settings.get_settings("WEB_PORT")
|
port = settings.get_settings("WEB_PORT")
|
||||||
|
|
||||||
print("Visit your server address (Port " + str(port) + ") to see your web interface. Visit /setup to get started.")
|
print("Visit your server address (Port " + str(port) + ") to see your web interface. Visit /admin_setup to get started.")
|
||||||
print("If you're installing this on your local machine, these links should get you there:")
|
print("If you're installing this on your local machine, these links should get you there:")
|
||||||
print("\t" + col["blue"]("http://localhost:" + str(port)))
|
print("\t" + col["blue"]("http://localhost:" + str(port)))
|
||||||
print("\t" + col["blue"]("http://localhost:" + str(port) + "/admin_setup"))
|
print("\t" + col["blue"]("http://localhost:" + str(port) + "/admin_setup"))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
from doreah.io import ask
|
from doreah.io import ask,col
|
||||||
|
|
||||||
from ...globalconf import data_dir
|
from ...globalconf import data_dir
|
||||||
|
|
||||||
@ -17,9 +17,10 @@ def loadlastfm(filename):
|
|||||||
print("Please wait...")
|
print("Please wait...")
|
||||||
|
|
||||||
from .lastfmconverter import convert
|
from .lastfmconverter import convert
|
||||||
convert(filename,data_dir['scrobbles']("lastfmimport.tsv"))
|
imported,failed = convert(filename,data_dir['scrobbles']("lastfmimport.tsv"))
|
||||||
print("Successfully imported your Last.FM scrobbles!")
|
print("Successfully imported",imported,"Last.FM scrobbles!")
|
||||||
|
if failed > 0:
|
||||||
|
print(col['red'](str(failed) + " Errors!"))
|
||||||
|
|
||||||
def backuphere():
|
def backuphere():
|
||||||
from .backup import backup
|
from .backup import backup
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import os, datetime, re
|
import os, datetime, re
|
||||||
from ...cleanup import *
|
from ...cleanup import *
|
||||||
|
from doreah.io import col
|
||||||
#from ...utilities import *
|
#from ...utilities import *
|
||||||
|
|
||||||
|
|
||||||
@ -17,46 +18,61 @@ def convert(input,output):
|
|||||||
|
|
||||||
stamps = [99999999999999]
|
stamps = [99999999999999]
|
||||||
|
|
||||||
|
success = 0
|
||||||
|
failed = 0
|
||||||
for l in log:
|
for l in log:
|
||||||
l = l.replace("\n","")
|
l = l.replace("\n","")
|
||||||
data = l.split(",")
|
try:
|
||||||
|
artist,album,title,time = l.split(",")
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
raise
|
||||||
|
except:
|
||||||
|
print(col['red']("Line '" + l + "' does not look like a valid entry. Scrobble not imported."))
|
||||||
|
failed += 1
|
||||||
|
continue
|
||||||
|
|
||||||
artist = data[0]
|
try:
|
||||||
album = data[1]
|
(artists,title) = c.fullclean(artist,title)
|
||||||
title = data[2]
|
artistsstr = "␟".join(artists)
|
||||||
time = data[3]
|
|
||||||
|
timeparts = time.split(" ")
|
||||||
|
(h,m) = timeparts[3].split(":")
|
||||||
|
|
||||||
|
months = {"Jan":1,"Feb":2,"Mar":3,"Apr":4,"May":5,"Jun":6,"Jul":7,"Aug":8,"Sep":9,"Oct":10,"Nov":11,"Dec":12}
|
||||||
|
timestamp = int(datetime.datetime(int(timeparts[2]),months[timeparts[1]],int(timeparts[0]),int(h),int(m)).timestamp())
|
||||||
|
|
||||||
|
|
||||||
(artists,title) = c.fullclean(artist,title)
|
## We prevent double timestamps in the database creation, so we technically don't need them in the files
|
||||||
|
## however since the conversion from lastfm to maloja is a one-time thing, we should take any effort to make
|
||||||
artistsstr = "␟".join(artists)
|
## the file as good as possible
|
||||||
|
if (timestamp < stamps[-1]):
|
||||||
|
pass
|
||||||
timeparts = time.split(" ")
|
elif (timestamp == stamps[-1]):
|
||||||
(h,m) = timeparts[3].split(":")
|
|
||||||
|
|
||||||
months = {"Jan":1,"Feb":2,"Mar":3,"Apr":4,"May":5,"Jun":6,"Jul":7,"Aug":8,"Sep":9,"Oct":10,"Nov":11,"Dec":12}
|
|
||||||
|
|
||||||
timestamp = int(datetime.datetime(int(timeparts[2]),months[timeparts[1]],int(timeparts[0]),int(h),int(m)).timestamp())
|
|
||||||
|
|
||||||
|
|
||||||
## We prevent double timestamps in the database creation, so we technically don't need them in the files
|
|
||||||
## however since the conversion from lastfm to maloja is a one-time thing, we should take any effort to make the file as good as possible
|
|
||||||
if (timestamp < stamps[-1]):
|
|
||||||
pass
|
|
||||||
elif (timestamp == stamps[-1]):
|
|
||||||
timestamp -= 1
|
|
||||||
else:
|
|
||||||
while(timestamp in stamps):
|
|
||||||
timestamp -= 1
|
timestamp -= 1
|
||||||
|
else:
|
||||||
|
while(timestamp in stamps):
|
||||||
|
timestamp -= 1
|
||||||
|
|
||||||
if (timestamp < stamps[-1]):
|
if (timestamp < stamps[-1]):
|
||||||
stamps.append(timestamp)
|
stamps.append(timestamp)
|
||||||
else:
|
else:
|
||||||
stamps.insert(0,timestamp)
|
stamps.insert(0,timestamp)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
raise
|
||||||
|
except:
|
||||||
|
print(col['red']("Line '" + l + "' could not be parsed. Scrobble not imported."))
|
||||||
|
failed += 1
|
||||||
|
continue
|
||||||
|
|
||||||
|
|
||||||
entry = "\t".join([str(timestamp),artistsstr,title,album])
|
entry = "\t".join([str(timestamp),artistsstr,title,album])
|
||||||
|
|
||||||
outputlog.write(entry)
|
outputlog.write(entry)
|
||||||
outputlog.write("\n")
|
outputlog.write("\n")
|
||||||
|
|
||||||
|
success += 1
|
||||||
|
|
||||||
|
if success % 100 == 0:
|
||||||
|
print("Imported " + str(success) + " scrobbles...")
|
||||||
|
|
||||||
|
return (success,failed)
|
||||||
|
@ -273,5 +273,10 @@ setproctitle.setproctitle("Maloja")
|
|||||||
database.start_db()
|
database.start_db()
|
||||||
|
|
||||||
log("Starting up Maloja server...")
|
log("Starting up Maloja server...")
|
||||||
#run(webserver, host=HOST, port=MAIN_PORT, server='waitress')
|
|
||||||
waitress.serve(webserver, host=HOST, port=MAIN_PORT, threads=THREADS)
|
try:
|
||||||
|
#run(webserver, host=HOST, port=MAIN_PORT, server='waitress')
|
||||||
|
waitress.serve(webserver, host=HOST, port=MAIN_PORT, threads=THREADS)
|
||||||
|
except OSError:
|
||||||
|
log("Error. Is another Maloja process already running?")
|
||||||
|
raise
|
||||||
|
Loading…
Reference in New Issue
Block a user