#!/usr/bin/env python # -*- coding: utf-8 -*- # #Copyright (C) 2009 RaNaN # #This program 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. # #This program 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 this program; if not, see . # ### LIST_VERSION = 1 import cPickle from Py_Load_File import PyLoadFile class File_List(object): def __init__(self, core): self.core = core self.files = [] self.data = {'version': LIST_VERSION} self.id = 0 #self.load() def new_pyfile(self, url): url = url.replace("\n", "") pyfile = PyLoadFile(self.core, url) pyfile.download_folder = self.core.config['download_folder'] pyfile.id = self.id self.id += 1 return pyfile def append(self, url): self.files.append(self.new_pyfile(url)) def extend(self, urls): for url in urls: self.append(url) def save(self): output = open('links.pkl', 'wb') cPickle.dump(self.data, output, -1) def load(self): try: pkl_file = open('links.pkl', 'rb') obj = cPickle.load(pkl_file) except: obj = {'version': LIST_VERSION} if obj['version'] < LIST_VERSION: obj = {'version': LIST_VERSION} self.data = obj