homebysix / recipe-robot

A kick ass tool for creating AutoPkg recipes.
Apache License 2.0
301 stars 28 forks source link

Creating recipe for GnuCash causes RR to explode #101

Closed workflowsguy closed 8 years ago

workflowsguy commented 8 years ago

When I feed the following URL to RR:

https://sourceforge.net/projects/gnucash

it responds with

Processing https://sourceforge.net/projects/gnucash ...
Input path looks like a SourceForge URL.
    App name is: GnuCash
Getting SourceForge project ID...
    SourceForge project ID is: 192
Getting SourceForge description...
    SourceForge description is: Personal and small-business finance manager
Determining download URL from SourceForge RSS feed...
[WARNING] Could not detect SourceForge latest release download_url.
Searching for existing AutoPkg recipes for "GnuCash"...
    No results
[ERROR] Recipe Robot exploded with unexpected error: is_from_app_store
Traceback (most recent call last):
  File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe-robot", line 98, in main
    time, _ = recipe_robot_lib.generate_recipes(facts, prefs)  # pylint: disable=assignment-from-no-return
  File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe_robot_lib/tools.py", line 112, in run_func
    result = func(*args, **kwargs)
  File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe_robot_lib/recipe_generator.py", line 66, in generate_recipes
    raise_if_recipes_cannot_be_generated(facts, preferred)
  File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe_robot_lib/recipe_generator.py", line 118, in raise_if_recipes_cannot_be_generated
    if (not facts.is_from_app_store() and
  File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe_robot_lib/facts.py", line 90, in is_from_app_store
    return self["is_from_app_store"]
  File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe_robot_lib/roboabc.py", line 45, in __getitem__
    return self._dict[key]
KeyError: 'is_from_app_store'

[ERROR] 
homebysix commented 8 years ago

Hi @workflowsguy - thanks for the data point.

SourceForge API parsing in Recipe Robot isn't totally stable, and it's something I've wrestled with trying to fix. You can even see some comments in our code to that effect.

21 is where we're tracking this issue for now, but I don't anticipate spending a lot of energy trying to tame SourceForge's API, given the waning popularity and trust placed in SourceForge lately. Better to contact the project's author and convince them to switch to BitBucket or GitHub, in my opinion.