diff --git a/data/interfaces/default/weeklypull.html b/data/interfaces/default/weeklypull.html
index c911fc72..69e411cc 100755
--- a/data/interfaces/default/weeklypull.html
+++ b/data/interfaces/default/weeklypull.html
@@ -104,7 +104,15 @@
${weekly['COMIC']}
%endif
%else:
- ${weekly['COMIC']}
+ %if weekly['HAVEIT'] == 'OneOff':
+ %if all([weekly['COMICID'] != '', weekly['COMICID'] is not None]):
+ ${weekly['COMIC']}
+ %else:
+ ${weekly['COMIC']}
+ %endif
+ %else:
+ ${weekly['COMIC']}
+ %endif
%endif
%if weekly['VOLUME'] is not None:
 V${weekly['VOLUME']}
diff --git a/mylar/findcomicfeed.py b/mylar/findcomicfeed.py
index be902670..d6b6b13b 100755
--- a/mylar/findcomicfeed.py
+++ b/mylar/findcomicfeed.py
@@ -11,37 +11,44 @@ import unicodedata
import urllib
def Startit(searchName, searchIssue, searchYear, ComicVersion, IssDateFix):
- #searchName = "Uncanny Avengers"
- #searchIssue = "01"
- #searchYear = "2012"
- if searchName.lower().startswith('the '):
- searchName = searchName[4:]
cName = searchName
- #clean up searchName due to webparse.
- searchName = searchName.replace("%20", " ")
- if "," in searchName:
- searchName = searchName.replace(",", "")
- #logger.fdebug("name:" + str(searchName))
- #logger.fdebug("issue:" + str(searchIssue))
- #logger.fdebug("year:" + str(searchYear))
+
+ #clean up searchName due to webparse/redudant naming that would return too specific of results.
+ commons = ['and', 'the', '&', '-']
+ for x in commons:
+ cnt = 0
+ for m in re.finditer(x, searchName.lower()):
+ cnt +=1
+ tehstart = m.start()
+ tehend = m.end()
+ if any([x == 'the', x == 'and']):
+ if len(searchName) == tehend:
+ tehend =-1
+ if all([tehstart == 0, searchName[tehend] == ' ']) or all([tehstart != 0, searchName[tehstart-1] == ' ', searchName[tehend] == ' ']):
+ searchName = searchName.replace(x, ' ', cnt)
+ else:
+ continue
+ else:
+ searchName = searchName.replace(x, ' ', cnt)
+
+ searchName = re.sub('\s+', ' ', searchName)
+ searchName = re.sub("[\,\:|'%20']", "", searchName).strip()
+ logger.fdebug("searchname: %s" % searchName)
+ logger.fdebug("issue: %s" % searchIssue)
+ logger.fdebug("year: %s" % searchYear)
encodeSearch = urllib.quote_plus(searchName)
splitSearch = encodeSearch.split(" ")
- joinSearch = "+".join(splitSearch) +"+" +searchIssue
- searchIsOne = "0" +searchIssue
- searchIsTwo = "00" +searchIssue
-
- if mylar.CONFIG.PREFERRED_QUALITY == 1: joinSearch = joinSearch + " .cbr"
- elif mylar.CONFIG.PREFERRED_QUALITY == 2: joinSearch = joinSearch + " .cbz"
+ if len(searchIssue) == 1:
+ loop = 3
+ elif len(searchIssue) == 2:
+ loop = 2
+ else:
+ loop = 1
if "-" in searchName:
searchName = searchName.replace("-", '((\\s)?[-:])?(\\s)?')
-
- regexName = searchName.replace(" ", '((\\s)?[-:])?(\\s)?')
-
-
- #logger.fdebug('searchName:' + searchName)
- #logger.fdebug('regexName:' + regexName)
+ regexName = searchName.replace(" ", '((\\s)?[-:])?(\\s)?')
if mylar.CONFIG.USE_MINSIZE:
size_constraints = "minsize=" + str(mylar.CONFIG.MINSIZE)
@@ -55,13 +62,29 @@ def Startit(searchName, searchIssue, searchYear, ComicVersion, IssDateFix):
max_age = "&age=" + str(mylar.CONFIG.USENET_RETENTION)
feeds = []
- feed1 = "http://nzbindex.nl/rss/alt.binaries.comics.dcp/?sort=agedesc&" + str(size_constraints) + str(max_age) + "&dq=%s&max=50&more=1" %joinSearch
- feeds.append(feedparser.parse("http://nzbindex.nl/rss/alt.binaries.comics.dcp/?sort=agedesc&" + str(size_constraints) + str(max_age) + "&dq=%s&max=50&more=1" %joinSearch))
- time.sleep(3)
- if mylar.CONFIG.ALTEXPERIMENTAL:
- feed2 = "http://nzbindex.nl/rss/?dq=%s&g[]=41&g[]=510&sort=agedesc&hidespam=0&max=&more=1" %joinSearch
- feeds.append(feedparser.parse("http://nzbindex.nl/rss/?dq=%s&g[]=41&g[]=510&sort=agedesc&hidespam=0&max=&more=1" %joinSearch))
+ i = 1
+ while (i <= loop):
+ if i == 1:
+ searchmethod = searchIssue
+ elif i == 2:
+ searchmethod = '0' + searchIssue
+ elif i == 3:
+ searchmethod = '00' + searchIssue
+ else:
+ break
+ logger.fdebug('Now searching experimental for issue number: %s to try and ensure all the bases are covered' % searchmethod)
+ joinSearch = "+".join(splitSearch) + "+" +searchmethod
+
+ if mylar.CONFIG.PREFERRED_QUALITY == 1: joinSearch = joinSearch + " .cbr"
+ elif mylar.CONFIG.PREFERRED_QUALITY == 2: joinSearch = joinSearch + " .cbz"
+
+ feeds.append(feedparser.parse("http://nzbindex.nl/rss/alt.binaries.comics.dcp/?sort=agedesc&" + str(size_constraints) + str(max_age) + "&dq=%s&max=50&more=1" %joinSearch))
time.sleep(3)
+ if mylar.CONFIG.ALTEXPERIMENTAL:
+ feeds.append(feedparser.parse("http://nzbindex.nl/rss/?dq=%s&g[]=41&g[]=510&sort=agedesc&hidespam=0&max=&more=1" %joinSearch))
+ time.sleep(3)
+
+ i+=1
entries = []
mres = {}
@@ -76,8 +99,6 @@ def Startit(searchName, searchIssue, searchYear, ComicVersion, IssDateFix):
regList = []
countUp = 0
- #logger.fdebug(str(totNum) + " results")
-
while countUp < totNum:
urlParse = feed.entries[countUp].enclosures[0]
#keyPair[feed.entries[countUp].title] = feed.entries[countUp].link
@@ -87,8 +108,6 @@ def Startit(searchName, searchIssue, searchYear, ComicVersion, IssDateFix):
"length": urlParse["length"],
"pubdate": feed.entries[countUp].updated})
countUp=countUp +1
- #logger.fdebug('keypair: ' + str(keyPair))
-
# thanks to SpammyHagar for spending the time in compiling these regEx's!
diff --git a/mylar/search.py b/mylar/search.py
index 06ee5e50..8b0c4008 100755
--- a/mylar/search.py
+++ b/mylar/search.py
@@ -307,7 +307,7 @@ def search_init(ComicName, IssueNumber, ComicYear, SeriesYear, Publisher, IssueD
#sure it's not disabled (it gets auto-disabled on maxing out the API hits)
prov_count+=1
continue
- elif all([searchprov == '32P', checked_once is True]) or all ([searchprov == 'Public Torrents', checked_once is True]):
+ elif all([searchprov == '32P', checked_once is True]) or all ([searchprov == 'Public Torrents', checked_once is True]) or all([searchprov == 'experimental', checked_once is True]):
prov_count+=1
continue
if searchmode == 'rss':