Skip to content

Make it easy to use a local / non-installed repo #89

@ftyers

Description

@ftyers

It's not at all clear how to use existing compiled modules. e.g. I have apertium-quc on my local system, how do I add that repo to be able to use it?

I tried:

>>> apertium.search_path('/home/fran/source/apertium/languages')

And it returns some stuff but doesn't seem to change state:

>>> apertium.analyze('quc-morph', 'we')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/fran/source/apertium/trunk/apertium-python/apertium/analysis/__init__.py", line 84, in analyze
    analyzer: Analyzer = Analyzer(lang)
  File "/home/fran/source/apertium/trunk/apertium-python/apertium/analysis/__init__.py", line 25, in __init__
    raise apertium.ModeNotInstalled(self.lang)
apertium.ModeNotInstalled: quc-morph

Probably the ideal thing would be to had something like:

>>> apertium.load_module('/home/fran/source/apertium/languages/apertium-quc')

But the whole way this works is kind of confusing in general.

I also tried:

>>> apertium.append_pair_path('/home/fran/source/apertium/languages/apertium-quc')
>>> apertium.analyze('quc-morph', 'we')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/fran/source/apertium/trunk/apertium-python/apertium/analysis/__init__.py", line 84, in analyze
    analyzer: Analyzer = Analyzer(lang)
  File "/home/fran/source/apertium/trunk/apertium-python/apertium/analysis/__init__.py", line 25, in __init__
    raise apertium.ModeNotInstalled(self.lang)
apertium.ModeNotInstalled: quc-morph
>>> apertium.Analyzer('quc')
<apertium.analysis.Analyzer object at 0x7f27c4bfb190>
>>> a = apertium.Analyzer('quc')
>>> a.analyse('we')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Analyzer' object has no attribute 'analyse'
>>> a.analyze('we')
sed: -e expressió #1, caràcter 1: ordre desconeguda: «"»
[]

So, sed doesn't seem to work, and the naming of append_pair_path() is strange, it should probably be just register_module() or load_module().

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions