GithubHelp home page GithubHelp logo

luminate-web-control's Introduction

Luminate Web Control

Created to test forms and download reports and queries from convio's Luminate Online due to Luminate's very limited API capabilities in regards to pulling a real amount of data from database.

This module uses an actual browser with selenium and beautifulsoup to pull reports and hence is relatively unstable and slow. If a better version of Luminate API become available consider this module irrelevant of soon to be updated.

For now, however, this was a real help to me in automating Luminate reporting, especially when paired with my send-reports module.

Find an example use below.

Reports

from luminate_web_control import reports


# initialize object
session = reports.ReportNavigation()

# download_trx_report takes the name of a form or campaign, a pull type, and a date.
# date_rng must match the types offered by Luminate.
# To grab all donations call the method with no parameters: session.download_trx_report()

session.download_trx_report(donation_categories=["The River and the Wall Giving"], pull_type="form")

# closes browser
session.quit_browsing()

Queries

from luminate_web_control import queries


# initialize object
session = queries.QueryNavigation()

# simply use the exact query name. File goes to set download folder.
session.download_query_results("Planned Giving Opt-Ins")

# closes browser
session.quit_browsing()

Donation Forms

This can be used for testing and making changes to LO donation forms automatically. For example, to take a screenshot of every form and save the in an array:

from luminate_web_control import donation_forms


for key, value in forms.items():
        print("Taking shots of " + key, form)
        form = donation_forms.DonationFormNavigation(key, form)
        
        # takes screenshot of first page in donation form and thank you page
        form.perform_test()
        
        # saves email to downloads folder using email address in settings.py
        form.save_email_to_folder()
        
# closes browser
form.quit_browsing()

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.