diff --git a/mylar/__init__.py b/mylar/__init__.py
index fd3794e1..c0dd02e3 100755
--- a/mylar/__init__.py
+++ b/mylar/__init__.py
@@ -30,7 +30,6 @@ from lib.configobj import ConfigObj
import cherrypy
from mylar import versioncheck, logger, version
-from mylar.common import *
FULL_PATH = None
PROG_DIR = None
@@ -77,6 +76,7 @@ INSTALL_TYPE = None
CURRENT_VERSION = None
LATEST_VERSION = None
COMMITS_BEHIND = None
+USER_AGENT = None
CHECK_GITHUB = False
CHECK_GITHUB_ON_STARTUP = False
@@ -221,7 +221,7 @@ def initialize():
global __INITIALIZED__, FULL_PATH, PROG_DIR, VERBOSE, DAEMON, DATA_DIR, CONFIG_FILE, CFG, CONFIG_VERSION, LOG_DIR, CACHE_DIR, LOGVERBOSE, \
HTTP_PORT, HTTP_HOST, HTTP_USERNAME, HTTP_PASSWORD, HTTP_ROOT, LAUNCH_BROWSER, GIT_PATH, \
- CURRENT_VERSION, LATEST_VERSION, CHECK_GITHUB, CHECK_GITHUB_ON_STARTUP, CHECK_GITHUB_INTERVAL, MUSIC_DIR, DESTINATION_DIR, \
+ CURRENT_VERSION, LATEST_VERSION, CHECK_GITHUB, CHECK_GITHUB_ON_STARTUP, CHECK_GITHUB_INTERVAL, USER_AGENT, MUSIC_DIR, DESTINATION_DIR, \
DOWNLOAD_DIR, USENET_RETENTION, SEARCH_INTERVAL, NZB_STARTUP_SEARCH, INTERFACE, AUTOWANT_ALL, AUTOWANT_UPCOMING, ZERO_LEVEL, ZERO_LEVEL_N, COMIC_COVER_LOCAL, \
LIBRARYSCAN, LIBRARYSCAN_INTERVAL, DOWNLOAD_SCAN_INTERVAL, SAB_HOST, SAB_USERNAME, SAB_PASSWORD, SAB_APIKEY, SAB_CATEGORY, SAB_PRIORITY, SAB_DIRECTORY, BLACKHOLE, BLACKHOLE_DIR, ADD_COMICS, COMIC_DIR, IMP_MOVE, IMP_RENAME, IMP_METADATA, \
NZBSU, NZBSU_APIKEY, DOGNZB, DOGNZB_APIKEY, NZBX,\
@@ -429,6 +429,15 @@ def initialize():
# Get the currently installed version - returns None, 'win32' or the git hash
# Also sets INSTALL_TYPE variable to 'win', 'git' or 'source'
CURRENT_VERSION = versioncheck.getVersion()
+ hash = CURRENT_VERSION[:7]
+ print ("hash is set to : " + str(hash))
+
+ if version.MYLAR_VERSION == 'master':
+ vers = 'M'
+ else:
+ vers = 'D'
+
+ USER_AGENT = 'Mylar/'+str(hash)+'('+vers+') +http://www.github.com/evilhero/mylar/'
# Check for new versions
if CHECK_GITHUB_ON_STARTUP:
@@ -707,6 +716,12 @@ def dbcheck():
c.execute('SELECT WatchMatch from importresults')
except sqlite3.OperationalError:
c.execute('ALTER TABLE importresults ADD COLUMN WatchMatch TEXT')
+
+ try:
+ c.execute('SELECT inCacheDIR from issues')
+ except sqlite3.OperationalError:
+ c.execute('ALTER TABLE issues ADD COLUMN inCacheDIR TEXT')
+
# -- not implemented just yet ;)
# for metadata...
diff --git a/mylar/common.py b/mylar/common.py
deleted file mode 100755
index ea96d14d..00000000
--- a/mylar/common.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# This file is part of Mylar.
-#
-# Mylar is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Mylar is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Mylar. If not, see .
-
-'''
-Created on Aug 1, 2011
-
-@author: Michael
-'''
-import platform, operator, os, re
-
-from mylar import version
-
-#Identify Our Application
-USER_AGENT = 'Mylar/-'+version.MYLAR_VERSION+' ('+platform.system()+' '+platform.release()+')'
-
-### Notification Types
-NOTIFY_SNATCH = 1
-NOTIFY_DOWNLOAD = 2
-
-notifyStrings = {}
-notifyStrings[NOTIFY_SNATCH] = "Started Download"
-notifyStrings[NOTIFY_DOWNLOAD] = "Download Finished"
diff --git a/mylar/prov_nzbx.py b/mylar/prov_nzbx.py
old mode 100644
new mode 100755
index 2b99404b..891343c2
--- a/mylar/prov_nzbx.py
+++ b/mylar/prov_nzbx.py
@@ -14,14 +14,17 @@ def searchit(cm):
searchURL = 'https://nzbx.co/api/search?cat=7030&q=' + str(cm)
logger.fdebug(u'Parsing results from nzbx.co' % searchURL)
-
+ request = urllib2.Request(searchURL)
+ request.add_header(mylar.USER_AGENT)
+ opener = urllib2.build_opener()
+
try:
- data = urllib2.urlopen(searchURL, timeout=20).read()
- except urllib2.URLError, e:
- logger.fdebug('Error fetching data from nzbx.co: %s' % str(e))
+ data = opener.open(request).read()
+ except Exception, e:
+ logger.warn('Error fetching data from nzbx.co : %s' % str(e))
data = False
return "no results"
-
+
if data:
d = json.loads(data)
diff --git a/mylar/search.py b/mylar/search.py
index 97d0a115..2dcf5319 100755
--- a/mylar/search.py
+++ b/mylar/search.py
@@ -327,9 +327,10 @@ def NZB_SEARCH(ComicName, IssueNumber, ComicYear, SeriesYear, nzbprov, nzbpr, Is
comsearch[findloop] = comsrc + "%200" + isssearch[findloop] + "%20" + str(filetype)
elif cmloopit == 1:
comsearch[findloop] = comsrc + "%20" + isssearch[findloop] + "%20" + str(filetype)
- logger.fdebug("comsearch: " + str(comsearch))
- logger.fdebug("cmloopit: " + str(cmloopit))
- logger.fdebug("done: " + str(done))
+ #logger.fdebug("comsearch: " + str(comsearch))
+ #logger.fdebug("cmloopit: " + str(cmloopit))
+ #logger.fdebug("done: " + str(done))
+
if nzbprov != 'experimental':
if nzbprov == 'dognzb':
findurl = "http://dognzb.cr/api?t=search&apikey=" + str(apikey) + "&q=" + str(comsearch[findloop]) + "&o=xml&cat=7030"
@@ -342,9 +343,24 @@ def NZB_SEARCH(ComicName, IssueNumber, ComicYear, SeriesYear, nzbprov, nzbpr, Is
logger.fdebug("search-url: " + str(findurl))
elif nzbprov == 'nzbx':
bb = prov_nzbx.searchit(comsearch[findloop])
- logger.fdebug("nzbx.co!")
if nzbprov != 'nzbx':
- bb = feedparser.parse(findurl)
+ # Add a user-agent
+ print ("user-agent:" + str(mylar.USER_AGENT))
+ request = urllib2.Request(findurl)
+ request.add_header('User Agent', str(mylar.USER_AGENT))
+ opener = urllib2.build_opener()
+
+ try:
+ data = opener.open(request).read()
+ except Exception, e:
+ logger.warn('Error fetching data from %s: %s' % (nzbprov, e))
+ data = False
+
+ if data:
+ bb = feedparser.parse(data)
+ else:
+ bb = "no results"
+
elif nzbprov == 'experimental':
#bb = parseit.MysterBinScrape(comsearch[findloop], comyear)
bb = findcomicfeed.Startit(cm, isssearch[findloop], comyear)
diff --git a/mylar/weeklypull.py b/mylar/weeklypull.py
old mode 100644
new mode 100755
index 367c7342..62910388
--- a/mylar/weeklypull.py
+++ b/mylar/weeklypull.py
@@ -246,7 +246,7 @@ def pullit():
try:
comicnm = comicnm + " " + issname[n]
except IndexError:
- print ("went too far looking at this comic...adjusting.")
+ #print ("went too far looking at this comic...adjusting.")
comicnm = comicnm
break
n+=1
@@ -404,12 +404,12 @@ def pullitcheck(comic1off_name=None,comic1off_id=None):
while (cnt > -1):
lines[cnt] = str(lines[cnt]).upper()
#llen[cnt] = str(llen[cnt])
- logger.fdebug("looking for : " + str(lines[cnt]))
+ #logger.fdebug("looking for : " + str(lines[cnt]))
sqlsearch = re.sub('[\_\#\,\/\:\;\.\-\!\$\%\&\'\?\@]', ' ', str(lines[cnt]))
sqlsearch = re.sub(r'\s', '%', sqlsearch)
if 'THE' in sqlsearch: sqlsearch = re.sub('THE', '', sqlsearch)
if '+' in sqlsearch: sqlsearch = re.sub('\+', '%PLUS%', sqlsearch)
- logger.fdebug("searchsql: " + str(sqlsearch))
+ #logger.fdebug("searchsql: " + str(sqlsearch))
weekly = myDB.select('SELECT PUBLISHER, ISSUE, COMIC, EXTRA, SHIPDATE FROM weekly WHERE COMIC LIKE (?)', [sqlsearch])
#cur.execute('SELECT PUBLISHER, ISSUE, COMIC, EXTRA, SHIPDATE FROM weekly WHERE COMIC LIKE (?)', [lines[cnt]])
for week in weekly:
@@ -417,21 +417,20 @@ def pullitcheck(comic1off_name=None,comic1off_id=None):
break
for nono in not_t:
if nono in week['PUBLISHER']:
- logger.fdebug("nono present")
+ #logger.fdebug("nono present")
break
if nono in week['ISSUE']:
- logger.fdebug("graphic novel/tradeback detected..ignoring.")
+ #logger.fdebug("graphic novel/tradeback detected..ignoring.")
break
for nothere in not_c:
if nothere in week['EXTRA']:
- logger.fdebug("nothere present")
+ #logger.fdebug("nothere present")
break
else:
comicnm = week['COMIC']
#here's the tricky part, ie. BATMAN will match on
#every batman comic, not exact
- logger.fdebug("comparing" + str(comicnm) + "..to.." + str(unlines[cnt]).upper())
- #logger.fdebug("comparing" + str(sqlsearch) + "..to.." + str(unlines[cnt]).upper())
+ #logger.fdebug("comparing" + str(comicnm) + "..to.." + str(unlines[cnt]).upper())
#-NEW-
# strip out all special characters and compare
@@ -439,8 +438,8 @@ def pullitcheck(comic1off_name=None,comic1off_id=None):
comicnm = re.sub('[\_\#\,\/\:\;\.\-\!\$\%\&\+\'\?\@]', '', str(comicnm))
watchcomic = re.sub(r'\s', '', watchcomic)
comicnm = re.sub(r'\s', '', comicnm)
- logger.fdebug("Revised_Watch: " + str(watchcomic))
- logger.fdebug("ComicNM: " + str(comicnm))
+ #logger.fdebug("Revised_Watch: " + str(watchcomic))
+ #logger.fdebug("ComicNM: " + str(comicnm))
if 'THE' in str(watchcomic).upper():
modwatchcomic = re.sub('THE', '', watchcomic.upper())
modcomicnm = re.sub('THE', '', comicnm)
@@ -452,8 +451,8 @@ def pullitcheck(comic1off_name=None,comic1off_id=None):
if 'plus' in str(comicnm).lower():
modcomicnm = re.sub('plus', '+', comicnm)
if str(comicnm) == str(watchcomic).upper() or str(modcomicnm) == str(modwatchcomic).upper():
- logger.fdebug("matched on:" + str(comicnm) + "..." + str(watchcomic).upper())
- #pass
+ #logger.fdebug("matched on:" + str(comicnm) + "..." + str(watchcomic).upper())
+ pass
elif ("ANNUAL" in week['EXTRA']):
pass
#print ( row[3] + " matched on ANNUAL")