GithubHelp home page GithubHelp logo

nembery / aframe Goto Github PK

View Code? Open in Web Editor NEW
18.0 18.0 12.0 6.43 MB

A minimalistic automation framework designed to create user input forms from various types of APIs and templates.

License: Apache License 2.0

Python 8.26% CSS 0.33% JavaScript 84.00% HTML 7.40% Dockerfile 0.01%

aframe's People

Contributors

barnesry avatar nembery avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aframe's Issues

add websocket widget to screens

We need a websocket widget in the screens section. The websocket could potentially use the django channels support to connect directly to some external source via a proxy set up in django/aframe server

allow importing screens on start up

The idea would be to allow someone to create screens and distribute them to be installed along with an aframe installation. For example, a salt state may install aframe, copy templates, actions, forms, and screens into an 'import' directory and have those available in the app as soon as it starts

git backend support

currently, all templates, forms, and screens are kept in a local sqlite3 db. We should add support for a git repository backend so all those can be saved into a directory structure in git. Will also allow pointing new installations at existing repositories for examples that we may distribute

support for imported themes

screen themes are currently hard coded into the app. It should be possible to import themes on startup, or allow link for an operator to upload a new theme. This should probably be a simple JSON object that describes the theme. Aframe will de-serialize the JSON theme object and write into an imported CSS file by the screen page.

screen menu widget

we need a widget in the screens widget list that allows the operator to create a 'menu' of selected other screens. This would allow the creation of 'apps' that are comprised of several different screens. Updating the widget on one screen would update the widget on all screens.

error cloning automation with multiple forms

exception when attempting to clone an automation that has multiple input_forms (like when multiple languages are used)

Clone logic looks for a single input form from a template_id. The assumption is that templates always have a single input_form, which isn't always true. Need to fix the clone logic to use the input_form id and pull a single template from there, not vice versa

index error when loading a CSV file

file aframe/endpoints/plugins/FileDiscovery.py

While attempting to load a CSV file, I was getting an error at this part of the code:

    def load_instance_config(self, config):
        filename = config["file_path"]["value"]
        try:

Python was complaining about the index type that it can't be string and it should be integer.

I did the following modification in order to fix the problem but I don't know if this is the best way to solve. Hence, I am creating this issue instead of doing a pull merge.

The change I applied is this:

    def load_instance_config(self, config):
    print "**** HERE ***"
    print(dir(config))
    print "**** HERE ***"
        filename = config[0]["value"]

You can ignore the prints as I used them for troubleshooting.

all aframe functions should be available via a screen

input form list, template list, endpoint list, creation pages for each should all be available as widgets in aframe. Low priority items, but we make these pages just different 'screens' that the user can navigate to

apply-template cannot match text style config

config_format = "set"
if re.search(r"^\s*<.*>$", conf_string, re.MULTILINE):
print "found xml style config"
config_format = "xml"
elif re.search(r"^\s*(set|delete|replace|rename)\s", conf_string):
print "found set style config"
config_format = "set"
elif re.search(r"^[a-z:]*\s*\w+\s+{", conf_string, re.I) and re.search(r".*}\s*$", conf_string):
print "found a text style config"
config_format = "text"

My template is configure the static route:

routing-options {
  static {
    route {{ prefix }} next-hop {{ nexthop }};
  }
}

The text format regex can't match above template, and therefore fallback to default "set" style and make the apply config failed.

To fix it, suggest to match the "-" also:

re.search(r"^[a-z:-]*\s*\w+\s+{", conf_string, re.I)

Add labels to screen models

this allows searching on screens across multiple labels. I.e. show all screens with language=english, app=blah, author=nate, etc

ansible integration

inventory file should be populated by queue or selected host and the 'template' should populate the group vars file. action options should determine the local directory of the ansible playbook

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.