add create onif file and new folder
This commit is contained in:
@@ -4,5 +4,7 @@ Config = {
|
||||
"FeedLinkTypes" : {"application/x-bittorrent","mp3"},
|
||||
"FeedTypes" : {"podcast","rss"},
|
||||
"FeedStorageFolder" : "testfeeds",
|
||||
"FeedStoragePrefix" : { "0" : "FeedTypes"}
|
||||
"FeedStoragePrefix" : { "0" : "FeedType", "1" : "FeedName"},
|
||||
"ConfigFileSuffix" : "-config",
|
||||
"ConfigFileExtension" : ".json"
|
||||
}
|
||||
@@ -1,6 +1,49 @@
|
||||
__author__ = 'dev'
|
||||
|
||||
from utilities.jsonfile import JsonFile
|
||||
from config.config import Config
|
||||
import os
|
||||
|
||||
class Feed:
|
||||
|
||||
def __init__(self):
|
||||
self.valid_file_types = {"application/x-bittorrent","mp3"}
|
||||
def __init__(self, feed_name=None, feed_type=None, link_type=None, feed_url=None):
|
||||
self.valid_file_types = {"application/x-bittorrent","mp3"}
|
||||
self.feed_config = self.create_feed_config_file(feed_name, feed_type, link_type, feed_url)
|
||||
|
||||
def new_feed_folder(self):
|
||||
feed_folder = Config["FeedStorageFolder"]
|
||||
feed_folder_prefix = Config["FeedStoragePrefix"]
|
||||
|
||||
for i in range(len(feed_folder_prefix)):
|
||||
value = feed_folder_prefix.get(str(i))
|
||||
if value is not None:
|
||||
tmpValue = self.feed_config.get(value)
|
||||
if tmpValue is not None:
|
||||
value = tmpValue
|
||||
|
||||
feed_folder += "/" + value
|
||||
else:
|
||||
break
|
||||
|
||||
if not os.path.exists(feed_folder):
|
||||
os.mkdir(feed_folder)
|
||||
|
||||
return os.path.abspath(feed_folder)
|
||||
|
||||
|
||||
|
||||
|
||||
def create_feed_config_file(self, feed_name, feed_type, link_type, feed_url):
|
||||
feed_config =\
|
||||
{
|
||||
"FeedName": feed_name,
|
||||
"FeedType": feed_type,
|
||||
"FeedUrl": feed_url,
|
||||
"LinkType": link_type
|
||||
}
|
||||
return feed_config
|
||||
|
||||
|
||||
def write_feed_config_file(self, feed_folder):
|
||||
file = JsonFile(feed_folder + self.feed_config["FeedName"] + Config["ConfigFileSuffix"] + Config["ConfigFileExtension"])
|
||||
file.write_json_file(self.feed_config)
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"FeedUrl" : "http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/"
|
||||
"LinkType" : "application/x-bittorrent"
|
||||
"FeedName": "sbk",
|
||||
"FeedUrl": "http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/",
|
||||
"LinkType": "application/x-bittorrent"
|
||||
}
|
||||
@@ -32,6 +32,17 @@ class TestConfig(unittest.TestCase):
|
||||
self.assertIsNotNone(prefix)
|
||||
self.assertIsInstance(prefix, dict)
|
||||
|
||||
def test_feed_config_file_suffix(self):
|
||||
suffix = Config.get("ConfigFileSuffix")
|
||||
self.assertIsNotNone(suffix)
|
||||
self.assertIsInstance(suffix, str)
|
||||
|
||||
def test_feed_config_file_extension(self):
|
||||
extension = Config.get("ConfigFileExtension")
|
||||
self.assertIsNotNone(extension)
|
||||
self.assertIsInstance(extension, str)
|
||||
self.assertIn(".", extension)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
@@ -2,10 +2,18 @@ __author__ = 'dev'
|
||||
|
||||
import unittest
|
||||
from feed.feed import Feed
|
||||
from utilities.jsonfile import JsonFile
|
||||
from config.config import Config
|
||||
import os.path
|
||||
|
||||
|
||||
class TestFeed(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.testFeed = Feed("sbk", "podcast", "application/x-bittorrent",
|
||||
"http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/")
|
||||
|
||||
def test_load_new_feed(self):
|
||||
self.assertTrue(False)
|
||||
|
||||
@@ -28,10 +36,16 @@ class TestFeed(unittest.TestCase):
|
||||
self.assertTrue(False)
|
||||
|
||||
def test_new_feed_folder(self):
|
||||
self.assertTrue(False)
|
||||
self.assertTrue(os.path.exists(self.testFeed.new_feed_folder()))
|
||||
|
||||
def test_create_feed_config_file(self):
|
||||
self.assertTrue(False)
|
||||
feed_config = self.testFeed.create_feed_config_file("sbk", "podcast", "application/x-bittorrent",
|
||||
"http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/")
|
||||
self.assertIsNotNone(feed_config)
|
||||
self.assertEqual("sbk", feed_config["FeedName"])
|
||||
self.assertEqual("podcast", feed_config["FeedType"])
|
||||
self.assertEqual("application/x-bittorrent", feed_config["LinkType"])
|
||||
self.assertEqual("http://www.staatsbuergerkunde-podcast.de/feed/mp3-rss/", feed_config["FeedUrl"])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user