diff --git a/src/calibre/web/feeds/recipes/collection.py b/src/calibre/web/feeds/recipes/collection.py index 3d4ac952fb..1334017840 100644 --- a/src/calibre/web/feeds/recipes/collection.py +++ b/src/calibre/web/feeds/recipes/collection.py @@ -158,6 +158,27 @@ def add_custom_recipe(title, script): with open(os.path.join(bdir, fname), 'wb') as f: f.write(script) +def add_custom_recipes(script_map): + from calibre.web.feeds.recipes import custom_recipes, \ + custom_recipe_filename + id_ = 1000 + keys = tuple(map(int, custom_recipes.iterkeys())) + if keys: + id_ = max(keys)+1 + with custom_recipes: + for title, script in script_map.iteritems(): + fid = str(id_) + bdir = os.path.dirname(custom_recipes.file_path) + + fname = custom_recipe_filename(fid, title) + if isinstance(script, unicode): + script = script.encode('utf-8') + + custom_recipes[fid] = (title, fname) + + with open(os.path.join(bdir, fname), 'wb') as f: + f.write(script) + def remove_custom_recipe(id_): from calibre.web.feeds.recipes import custom_recipes