Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cfpb/publish_eccu
Publish ECCU files to Akamai
https://github.com/cfpb/publish_eccu
Last synced: 17 days ago
JSON representation
Publish ECCU files to Akamai
- Host: GitHub
- URL: https://github.com/cfpb/publish_eccu
- Owner: cfpb
- License: cc0-1.0
- Created: 2015-02-05T15:27:13.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-07-14T18:56:52.000Z (over 7 years ago)
- Last Synced: 2024-04-08T00:16:58.695Z (9 months ago)
- Language: Python
- Homepage:
- Size: 338 KB
- Stars: 6
- Watchers: 10
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# ECCU Publisher
This project provides a command-line tool for publishing "ECCU" files to Akamai. ECCU is one of several mechanisms for programattically interacting with your Akamai cache. Unfortunately, there appears to be no public-facing dcoumentation of the format. You can publish one or several ECCU files at once, or pass in a list of URL paths that will be converted into the appropriate XML. This project is distributed as a Python package.
Current status: 1.0. This appears to solve the problems it, but we will almost certainly learn new things as we move towards actually implementing this.
## Dependencies
This software has only been tested under Python 2.6 and 2.7, on Mac OS X and Linux. It depends on the following Python libraries:
- [Suds](https://fedorahosted.org/suds/)
- [lxml](http://lxml.de/)
- [argparse](http://code.google.com/p/argparse/) (if running under Python 2.6)## Installation
Into your Django Project:
```pip install git+https://github.com/cfpb/publish_eccu.git#egg=publish_eccu```- Include `publish_eccu` as an INSTALLED_APPS
With PIP:
```pip install [path to downloaded zip file or checkout directory]```
Otherwise:
```bash
cd [path to checkout directory]
python setup.py install
```## Usage
There are four important environment variables that must be set.
```bash
export AKAMAI_USER=[akamai account name]
export AKAMAI_PASSWORD=[akamai_password]
export AKAMAI_NOTIFY_EMAIL=[email to recieve success or failure notification]
export AKAMAI_HOST=[domain name you are acting on]
```Then, to publish already-crafted ECCU XML files, invoke the tool like this:
```bash
publish_eccu foo.xml bar.xml
```This will combine those files into a single ECCU, before posting.
For the simplest cases, you can pass URL paths instead of XML files:
```bash
publish_eccu --simple /about-us/contact /blog/
```If you want to invalidate the root URL of the domain, pass along the --home argument:
```bash
publish_eccu --simple /about-us/contact /blog/ --home
```Finally, if you just want to *see* the combined or generated XML, pass the --noop argument:
```bash
publish_eccu --simple /about-us/contact /blog/ --home --noop
successfully published:
---------
nownownow
```
## How to test the softwareInstall dependencies
- `pip install -r requirements/test.txt`
- from the root directory of the project, run the `nosetests` command.## Known issues
We'll surely discover some soon!
## Getting help
If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.
## Getting involved
If you find this tool useful, (or *almost* useful, pending some particular improvements), get in touch!
General instructions on _how_ to contribute should be stated with a link to [CONTRIBUTING](CONTRIBUTING.md).----
## Open source licensing info
1. [TERMS](TERMS.md)
2. [LICENSE](LICENSE)
3. [CFPB Source Code Policy](https://github.com/cfpb/source-code-policy/)----
## Credits and references
1. Projects that inspired you
2. Related projects
3. Books, papers, talks, or other sources that have meaniginful impact or influence on this project