From: salimfadhley <svn...@pl...> - 2006-01-31 23:35:59
|
Author: salimfadhley Date: Tue Jan 31 23:35:04 2006 New Revision: 18798 Modified: ATVideo/branches/bittorrent/content/video.py Log: removed getEnclosure (in ATMediaFile product) fixed bt stuff in processForm Modified: ATVideo/branches/bittorrent/content/video.py ============================================================================== --- ATVideo/branches/bittorrent/content/video.py (original) +++ ATVideo/branches/bittorrent/content/video.py Tue Jan 31 23:35:04 2006 @@ -269,18 +269,6 @@ """The dublin core 'rights' associated with this entry. """ - def getEnclosure(): - """Return an IEnclosure instance or None. - """ - from ATVideoEnclosure import ATVideoEnclosure - #get the ExternalStorage object for the video file - file_ext_storage_obj = self.Schema()['file'].storage - #get the URL - video_url = file_ext_storage_obj.getInstancePath(self) - #length of video - - return ATVideoEnclosure(video_url, - def getStreamPath(self, file_id=""): """ return the stream path for file_id """ if not file_id: @@ -319,34 +307,25 @@ makemetafile.make_meta_file( fn ,tracker_url, params = params) #add the torrent back into plone as a File object - container = self - id = os.path.basename(fn) + ".torrent" - container.invokeFactory(type_name='File',id=id) - #Fix up the file content of the File object - new_obj = container[id] - torrent_fn = id - torrent_mimetype = "application/x-bittorrent" - torrent_filepath = fn + ".torrent" - torrent_datafile = open(torrent_filepath, 'r') - new_obj.setFile(torrent_datafile.read(), filename=torrent_fn, mimetype=torrent_mimetype) + # only if an insert, not an edit. + torrent_fn = fn + ".torrent" + if not os.path.exists(torrent_fn): + container = self + id = os.path.basename(fn) + ".torrent" + container.invokeFactory(type_name='File',id=id) + #Fix up the file content of the File object + new_obj = container[id] + torrent_fn = id + torrent_mimetype = "application/x-bittorrent" + torrent_filepath = fn + ".torrent" + torrent_datafile = open(torrent_filepath, 'r') + new_obj.setFile(torrent_datafile.read(), filename=torrent_fn, mimetype=torrent_mimetype) - #TODO - #we can now spawn a downloader, to seed the distribution process - # - #btdownloadheadless --ip engagemedia.org --url <fn>.torrent --saveas <fn> - # would be the cmd line version - # ie spawn a daemon of /usr/bin/btdownloadheadless.bittornado + #we can now spawn a downloader, automatially if btlaunchmany.bittornado # - dld_binary='/usr/bin/btdownloadheadless.bittornado' - dld_args="--ip engagemedia.org --url %s.torrent --saveas %s" % (fn_url,fn) - #spawn process, dont wait, pid is returned - os.spawnv(os.P_NOWAIT, dld_binary, dld_args) - - #TODO #schedule media conversions - # gstreamer py bindings to convert - + #gstreamer py bindings to convert # ffmpeg conv to .avi # place back as ATVideo object! |