Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Importer Interface/Abstract class #109

Open
2 of 9 tasks
KrzysztofMadejski opened this issue Mar 28, 2018 · 0 comments
Open
2 of 9 tasks

Importer Interface/Abstract class #109

KrzysztofMadejski opened this issue Mar 28, 2018 · 0 comments

Comments

@KrzysztofMadejski
Copy link
Member

KrzysztofMadejski commented Mar 28, 2018

So it standardizes importers from various external sources: FTP, HTTP, S3

Features / acceptance criteria

  • Refactor interfaces
    • drop pyutil lib
    • interfaces defined as ABC classes
  • Be able to configure importers in settings
    • list active
    • provide default params to enabled ones
    • be able to specify a few importers of the same type, but different data sources
  • One interface/abstract class standardizing communication
  • Clear way to create tasks based on the document
    • maybe an interface for tasks iCreateOnDocument that would automatically be called as createOnDocument(document) and tasks would implement it
    • now there is no customization possible, but basic case is covered: listing tasks that should be created in model annotation
      @document(on_import_create=['opora.tasks.FindTableTask'])
      class Report(models.Model):
      
  • Ability to register some view in the admin panel that would allow admin to import external documents:
    • specifying source
    • optionally choosing from a list / navigating a file tree (this could be a standard component - I've started developing it for PyBossa)
    • (optionally) choosing which tasks should be created
  • Classes implementing this interface should be auto-registered in Moonsheep
  • Run options: asking for input in the process (such as choosing documents)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant