コード例 #1
0
def main():
    args = options()
    Y = mangareader(args.url)
    MANGA = Y.fetch_title_manga()
    # converte il nome del manga in formato utile per mangareader
    NAME = Y.convert_name(MANGA)
    LISTA = sorted(Y.fetch_chapters_manga(NAME))
    stampa('Elenco capitoli trovati:')
    for chapter, number in LISTA:
        if check_chapter_number(args, int(number)):
            stampa('-> %s' % chapter)
    stampa('\nInizio a scaricare i capitoli')
    for chapter, number in LISTA:
        if check_chapter_number(args, int(number)):
            stampa('Scarico capitolo: %s ' % chapter)
            download_chapter(chapter)
コード例 #2
0
ファイル: find_manga.py プロジェクト: GrayHats/MangaReader
#!/usr/bin/env python
'''
fetch new chapters from http://www.mangareader.net/latest,
download and report by mail
'''
from mangareader import mangareader
from mangareader import stampa
import argparse


def options():
    parser = argparse.ArgumentParser(description = '''
    temp
    '''
    )
    parser.add_argument("name", help = 'nome manga')
    return parser.parse_args()


if __name__ == "__main__":
    args = options()
    # fetch new links from website

    x = mangareader('http://www.mangareader.net/alphabetical')
    name = x.convert_name(args.name)
    link = x.find_manga(name)
    print link
コード例 #3
0
    if args.from_chapter:
        if args.from_chapter <= number:
            return True
        else:
            return False
    if args.to_chapter:
        if number <= args.to_chapter:
            return True
        else:
            return False
    return True


if __name__ == "__main__":
    args = options()
    Y = mangareader(args.url)
    MANGA = Y.fetch_title_manga()
    # converte il nome del manga in formato utile per mangareader
    NAME = Y.convert_name(MANGA) 
    LISTA = Y.fetch_chapters_manga(NAME)
    LISTA.sort() # basic sort..
    stampa('Elenco capitoli trovati:')
    for chapter, number in LISTA:
        if check_chapter_number(args, int(number)):
            stampa('-> %s' % chapter)
    stampa('\nInizio a scaricare i capitoli')
    for chapter, number in LISTA:
        if check_chapter_number(args, int(number)):
            stampa('Scarico capitolo: %s ' % chapter)
            download_chapter(chapter)
コード例 #4
0
ファイル: manga.py プロジェクト: Pierre70/Manga
def main():
  global xml_list
  global entry
  global last
  global dest
  global url
  global session


### make auto update
  if args.update:
    download_chapters = []
    if args.dest:
      dest = args.dest
    elif not args.add_to_calibre:
      dest = './'
    else:
      dest = ''
    args.dest=dest
    path=dest
    for r,d,f in os.walk(path):
      for folder in d:
        for rr,dd,ff in os.walk(path+"/"+folder):
          for files in ff:
            if files in 'chapters.txt':
              print ('chapter found.')     
              with open(path+"/"+folder+"/"+files, 'r') as filo:
                url = filo.readline().replace("\n","")
                last=float(filo.readline())
              print ("downloading "+url+" from "+str(last))
              args.last=last
              args.url
              if 'mangareader.net' in url:
                mangareader(url, download_chapters,args)
              elif 'mangahere.co' in url:
                mangahere(url, download_chapters),args
              elif 'bato.to' in url:
                batoto(url+'/', download_chapters,args)
              elif 'mangapanda.com' in url:
                mangapanda(url, download_chapters,args)
              elif 'goodmanga.net' in url:
                goodmanga(url, download_chapters,args)
              elif 'japscan.com' in url:
                japscan(url,download_chapters,args)
              elif 'scan-fr.net' in url:
                scan_fr(url,download_chapters,args)
              elif 'mymanga.io' in url:
                mymanga(url,download_chapters,args)


    if hasattr(args, 'listzip'):
      print(args.listzip)
      print(len(args.listzip))
      createJump(args)
    else:
     print ("no zip to add...")
  else:
    if not args.url:
      with open(args.list, 'r') as f:
        xml_list  = f.read()

    download_chapters = []
    if args.chap:
      download_chapters = re.split('\\s*,\\s*', args.chap)
      for i in download_chapters:
        if type(i) == str and '-' in i:
          download_chapters.remove(i)
          for j in range(int(float(re.split('\\s*-\\s*', i, maxsplit=1)[0])*10), int(float(re.split('\\s*-\\s*', i, maxsplit=1)[1])*10)+1):
            download_chapters.append(j/10.0)
      download_chapters = sorted(list(set([float(j) for j in download_chapters])))
  
  #manage xml file
    if not args.url:
      for item in re.findall('(\n?<entry>\\s*(.*?)\\s*</entry>)', xml_list, re.DOTALL|re.MULTILINE):
        session = Session()
        session.headers.update({'User-agent': 'Mozilla/5.0'})
        entry = item[1]
        try:
          url       = re.search('<url>(.*?)</url>',                  entry, re.DOTALL|re.MULTILINE).group(1).strip()
          try:
            last    = float(re.search('<last>\\s*([\\d.,-]+)\\s*</last>',  entry, re.DOTALL|re.MULTILINE).group(1))
          except:
            last    = -1
          try:
            dest    = re.search('<destination>(.*?)</destination>',  entry, re.DOTALL|re.MULTILINE).group(1)
          except:
            if not args.add_to_calibre:
              dest  = './'
            else:
              dest  = ''
        except:
          print('ERROR - line 681\n\n\"{}\"'.format(item[0].replace('\n', '\\n').replace('\t', '\\t')))
          sys.exit(-1)
        print('URL - {}'.format(url))

        if 'mangareader.net' in url:
          mangareader(url, download_chapters,args)
        elif 'mangahere.co' in url:
          mangahere(url, download_chapters),args
        elif 'bato.to' in url:
          batoto(url+'/', download_chapters,args)
        elif 'mangapanda.com' in url:
          mangapanda(url, download_chapters,args)
        elif 'goodmanga.net' in url:
          goodmanga(url, download_chapters,args)
        elif 'japscan.com' in url:
          japscan(url,download_chapters,args)
        elif 'scan-fr.net' in url:
          scan_fr(url,download_chapters,args)
        elif 'mymanga.io' in url:
          mymanga(url,download_chapters,args)
		
        with open(args.list, 'w') as f:
          f.write(xml_list)
    else:
      if args.dest:
        dest = args.dest
      elif not args.add_to_calibre:
        dest = './'
      else:
        dest = ''
      args.dest=dest
      url = args.url
      if not download_chapters:
        last = -1
      if 'mangareader.net' in url:
         mangareader(url, download_chapters,args)
      elif 'mangahere.co' in url:
        mangahere(url, download_chapters,args)
      elif 'bato.to' in url:
        batoto(url+'/', download_chapters,args)
      elif 'mangapanda.com' in url:
        mangapanda(url, download_chapters,args)
      elif 'goodmanga.net' in url:
        goodmanga(url, download_chapters,args)
      elif 'japscan.com' in url:
        japscan(url,download_chapters,args)
      elif 'scan-fr.net' in url:
        scan_fr(url,download_chapters,args)
      elif 'mymanga.io' in url:
        mymanga(url,download_chapters,args)
コード例 #5
0
ファイル: fetch_news.py プロジェクト: GrayHats/MangaReader
def main():
    body = ''

    # fetch new links from website
    x = mangareader('http://www.mangareader.net/latest')
    for manga in store.find(Manga):
        name = x.convert_name(manga.name)
        links = x.fetch_chapters_manga(name)
        if links:
            for link, number in links:
                if not store.find(Chapter.link,
                                  Chapter.link == unicode(link)).count():
                    new_chapter = store.add(Chapter())
                    new_chapter.link = unicode(link)
                    new_chapter.status = 0
                    new_chapter.id_manga = manga.id
                    store.add(new_chapter)
                    store.commit()
                    store.flush()

    # download links with status 0
    rows = store.find(Chapter, Chapter.status == 0)
    if rows.count():
        stampa('Da Scaricare:')
        for row in rows:
            stampa(' %s' % row.link)
        for row in rows:
            # re-check status, just in case..
            this_chap = store.find(Chapter, Chapter.id == row.id)
            if this_chap[0].status == 2:
                stampa('Status cambiato per %s' % row.link)
                continue
            row.status = 2
            row.data = now()
            store.commit()
            store.flush()
            ##
            stampa('\nScarico %s' % row.link)
            if download_chapter(row.link):
                row.status = 1
                row.data = now()
                row.manga.data = now()
                store.commit()
                store.flush()
                body += '\nScaricato %s:\n' % (row.link)
            else:
                body += '\nErrore nello scaricare %s:\n' % (row.link)

    # report links with status 0
    rows = store.find(Chapter, Chapter.status == 0)
    if rows.count():
        body += '\n\n###Da scaricare'
        for row in rows:
            body += '\nDa scaricare %s:\n' % (row.link)
    # report links with status 2
    rows = store.find(Chapter, Chapter.status == 2)
    if rows.count():
        body += '\n\n###Chapter in via di scaricamento'
        for row in rows:
            body += '\n  --> %s:\n' % (row.link)
    if body:
        send_mail(body)