Author: andar

Revision: 5938

Log:
        Remove maketorrent.py in 1.2 since we're not using it

Diff:
Modified: branches/1.2_RC/deluge/i18n/POTFILES.in
===================================================================
--- branches/1.2_RC/deluge/i18n/POTFILES.in     2009-11-18 18:58:44 UTC (rev 
5937)
+++ branches/1.2_RC/deluge/i18n/POTFILES.in     2009-11-18 19:02:05 UTC (rev 
5938)
@@ -1,5 +1,4 @@
 deluge/error.py
-deluge/maketorrent.py
 deluge/common.py
 deluge/rencode.py
 deluge/httpdownloader.py

Deleted: branches/1.2_RC/deluge/maketorrent.py
===================================================================
--- branches/1.2_RC/deluge/maketorrent.py       2009-11-18 18:58:44 UTC (rev 
5937)
+++ branches/1.2_RC/deluge/maketorrent.py       2009-11-18 19:02:05 UTC (rev 
5938)
@@ -1,356 +0,0 @@
-#
-# maketorrent.py
-#
-# Copyright (C) 2009 Andrew Resch <[email protected]>
-#
-# Deluge is free software.
-#
-# You may 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.
-#
-# deluge 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 deluge.    If not, write to:
-#      The Free Software Foundation, Inc.,
-#      51 Franklin Street, Fifth Floor
-#      Boston, MA  02110-1301, USA.
-#
-#    In addition, as a special exception, the copyright holders give
-#    permission to link the code of portions of this program with the OpenSSL
-#    library.
-#    You must obey the GNU General Public License in all respects for all of
-#    the code used other than OpenSSL. If you modify file(s) with this
-#    exception, you may extend this exception to your version of the file(s),
-#    but you are not obligated to do so. If you do not wish to do so, delete
-#    this exception statement from your version. If you delete this exception
-#    statement from all source files in the program, then also delete it here.
-#
-#
-
-import sys
-import os
-from hashlib import sha1 as sha
-
-from deluge.common import get_path_size
-from deluge.bencode import bencode, bdecode
-
-class InvalidPath(Exception):
-    """
-    Raised when an invalid path is supplied
-    """
-    pass
-
-class InvalidPieceSize(Exception):
-    """
-    Raised when an invalid piece size is set.  Piece sizes must be multiples of
-    16KiB.
-    """
-    pass
-
-class TorrentMetadata(object):
-    """
-    This class is used to create .torrent files.
-
-    ** Usage **
-
-    >>> t = TorrentMetadata()
-    >>> t.data_path = "/tmp/torrent"
-    >>> t.comment = "My Test Torrent"
-    >>> t.trackers = [["http://tracker.openbittorent.com";]]
-    >>> t.save("/tmp/test.torrent")
-
-    """
-    def __init__(self):
-        self.__data_path = None
-        self.__piece_size = 0
-        self.__comment = ""
-        self.__private = False
-        self.__trackers = []
-        self.__webseeds = []
-        self.__pad_files = False
-
-    def save(self, torrent_path, progress=None):
-        """
-        Creates and saves the torrent file to `path`.
-
-        :param torrent_path: where to save the torrent file
-        :type torrent_path: string
-
-        :param progress: a function to be called when a piece is hashed
-        :type progress: function(num_completed, num_pieces)
-
-        :raises InvalidPath: if the data_path has not been set
-
-        """
-        if not self.data_path:
-            raise InvalidPath("Need to set a data_path!")
-
-        torrent = {
-            "info": {}
-            }
-
-        if self.comment:
-            torrent["comment"] = self.comment.encode("UTF-8")
-
-        if self.private:
-            torrent["info"]["private"] = True
-
-        if self.trackers:
-            torrent["announce"] = self.trackers[0][0]
-            torrent["announce-list"] = self.trackers
-        else:
-            torrent["announce"] = ""
-
-        if self.webseeds:
-            httpseeds = []
-            webseeds = []
-            for w in self.webseeds:
-                if w.endswith(".php"):
-                    httpseeds.append(w)
-                else:
-                    webseeds.append(w)
-
-            if httpseeds:
-                torrent["httpseeds"] = httpseeds
-            if webseeds:
-                torrent["url-list"] = webseeds
-
-        datasize = get_path_size(self.data_path)
-
-        if self.piece_size:
-            piece_size = piece_size * 1024
-        else:
-            # We need to calculate a piece size
-            piece_size = 16384
-            while (datasize / piece_size) > 1024 and piece_size < (8192 * 
1024):
-                piece_size *= 2
-
-        # Calculate the number of pieces we will require for the data
-        num_pieces = datasize / piece_size
-        if datasize % piece_size:
-            num_pieces += 1
-
-        torrent["info"]["piece length"] = piece_size
-
-        # Create the info
-        if os.path.isdir(self.data_path):
-            torrent["info"]["name"] = os.path.split(self.data_path)[1]
-            files = []
-            padding_count = 0
-            # Collect a list of file paths and add padding files if necessary
-            for (dirpath, dirnames, filenames) in os.walk(self.data_path):
-                for index, filename in enumerate(filenames):
-                    size = get_path_size(os.path.join(self.data_path, dirpath, 
filename))
-                    p = dirpath[len(self.data_path):]
-                    p = p.lstrip("/")
-                    p = p.split("/")
-                    if p[0]:
-                        p += [filename]
-                    else:
-                        p = [filename]
-                    files.append((size, p))
-                    # Add a padding file if necessary
-                    if self.pad_files and (index + 1) < len(filenames):
-                        left = size % piece_size
-                        if left:
-                            p = list(p)
-                            p[-1] = "_____padding_file_" + str(padding_count)
-                            files.append((piece_size - left, p))
-                            padding_count += 1
-
-            # Run the progress function with 0 completed pieces
-            if progress:
-                progress(0, num_pieces)
-
-            fs = []
-            pieces = []
-            # Create the piece hashes
-            buf = ""
-            for size, path in files:
-                path = [s.decode(sys.getfilesystemencoding()).encode("UTF-8") 
for s in path]
-                fs.append({"length": size, "path": path})
-                if path[-1].startswith("_____padding_file_"):
-                    buf += "\0" * size
-                    pieces.append(sha(buf).digest())
-                    buf = ""
-                    fs[-1]["attr"] = "p"
-                else:
-                    fd = open(os.path.join(self.data_path, *path), "rb")
-                    r = fd.read(piece_size - len(buf))
-                    while r:
-                        buf += r
-                        if len(buf) == piece_size:
-                            pieces.append(sha(buf).digest())
-                            # Run the progress function if necessary
-                            if progress:
-                                progress(len(pieces), num_pieces)
-                            buf = ""
-                        else:
-                            break
-                        r = fd.read(piece_size - len(buf))
-                    fd.close()
-
-            if buf:
-                pieces.append(sha(buf).digest())
-                if progress:
-                    progress(len(pieces), num_pieces)
-                buf = ""
-
-            torrent["info"]["pieces"] = "".join(pieces)
-            torrent["info"]["files"] = fs
-
-        elif os.path.isfile(self.data_path):
-            torrent["info"]["name"] = os.path.split(self.data_path)[1]
-            torrent["info"]["length"] = get_path_size(self.data_path)
-            pieces = []
-
-            fd = open(self.data_path, "rb")
-            r = fd.read(piece_size)
-            while r:
-                pieces.append(sha(r).digest())
-                if progress:
-                    progress(len(pieces), num_pieces)
-
-                r = fd.read(piece_size)
-
-            torrent["info"]["pieces"] = "".join(pieces)
-
-        # Write out the torrent file
-        open(torrent_path, "wb").write(bencode(torrent))
-
-    def get_data_path(self):
-        """
-        The path to the files that the torrent will contain.  It can be either
-        a file or a folder.  This property needs to be set before the torrent
-        file can be created and saved.
-        """
-        return self.__data_path
-
-    def set_data_path(self, path):
-        """
-        :param path: the path to the data
-        :type path: string
-
-        :raises InvalidPath: if the path is not found
-
-        """
-        if os.path.exists(path) and (os.path.isdir(path) or 
os.path.isfile(path)):
-            self.__data_path = os.path.abspath(path)
-        else:
-            raise InvalidPath("No such file or directory: %s" % path)
-
-    def get_piece_size(self):
-        """
-        The size of pieces in bytes.  The size must be a multiple of 16KiB.
-        If you don't set a piece size, one will be automatically selected to
-        produce a torrent with less than 1024 pieces or the smallest possible
-        with a 8192KiB piece size.
-
-        """
-        return self.__piece_size
-
-    def set_piece_size(self, size):
-        """
-        :param size: the desired piece size in KiBs
-        :type size: int
-
-        :raises InvalidPieceSize: if the piece size is not a multiple of 16 KiB
-
-        """
-        if size % 16 and size:
-            raise InvalidPieceSize("Piece size must be a multiple of 16 KiB")
-        self.__piece_size = size
-
-    def get_comment(self):
-        """
-        Comment is some extra info to be stored in the torrent.  This is
-        typically an informational string.
-        """
-        return self.__comment
-
-    def set_comment(self, comment):
-        """
-        :param comment: an informational string
-        :type comment: string
-        """
-        self.__comment = comment
-
-    def get_private(self):
-        """
-        Private torrents only announce to the tracker and will not use DHT or
-        Peer Exchange.
-
-        See: http://bittorrent.org/beps/bep_0027.html
-
-        """
-        return self.__private
-
-    def set_private(self, private):
-        """
-        :param private: True if the torrent is to be private
-        :type private: bool
-        """
-        self.__private = private
-
-    def get_trackers(self):
-        """
-        The announce trackers is a list of lists.
-
-        See: http://bittorrent.org/beps/bep_0012.html
-
-        """
-        return self.__trackers
-
-    def set_trackers(self, trackers):
-        """
-        :param trackers: a list of lists of trackers, each list is a tier
-        :type trackers: list of list of strings
-        """
-        self.__trackers = trackers
-
-    def get_webseeds(self):
-        """
-        The web seeds can either be:
-        Hoffman-style: http://bittorrent.org/beps/bep_0017.html
-        or,
-        GetRight-style: http://bittorrent.org/beps/bep_0019.html
-
-        If the url ends in '.php' then it will be considered Hoffman-style, if
-        not it will be considered GetRight-style.
-        """
-        return self.__webseeds
-
-    def set_webseeds(self, webseeds):
-        """
-        :param webseeds: the webseeds which can be either Hoffman or GetRight 
style
-        :type webseeds: list of urls
-        """
-        self.__webseeds = webseeds
-
-    def get_pad_files(self):
-        """
-        If this is True, padding files will be added to align files on piece
-        boundaries.
-        """
-        return self.__pad_files
-
-    def set_pad_files(self, pad):
-        """
-        :param pad: set True to align files on piece boundaries
-        :type pad: bool
-        """
-        self.__pad_files = pad
-
-    data_path = property(get_data_path, set_data_path)
-    piece_size = property(get_piece_size, set_piece_size)
-    comment = property(get_comment, set_comment)
-    private = property(get_private, set_private)
-    trackers = property(get_trackers, set_trackers)
-    webseeds = property(get_webseeds, set_webseeds)
-    pad_files = property(get_pad_files, set_pad_files)


--

You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=.


Reply via email to