In case you read this because you are posting an issue, please take a minute and conside the things below. The issue tracker is not a support forum. It is primarily intended to submit bugs. However, we are glad to help you, and make sure the problem is not caused by PlexPy, but don't expect step-by-step answers.
- Making sure you update to the latest version.
- Turning your device off and on again.
- Analyzing your logs, you just might find the solution yourself!
- Using the search function to see if this issue has already been reported/solved.
- Checking the Wiki for [Installation] and [FAQs] .
- For basic questions try asking on Gitter or the Plex Forums first before opening an issue.
- Open a new issue on the GitHub issue tracker.
- Provide a clear title to easily help identify your problem.
- Use proper markdown syntax to structure your post (i.e. code/log in code blocks).
- Make sure you provide the following information:
- Close your issue when it's solved! If you found the solution yourself please comment so that others benefit from it.
Feature requests are handled on FeatHub.
- Search the existing requests to see if your suggestion has already been submitted.
- If a similar request exists, give it a thumbs up (+1), or add additional comments to the request.
- If no similar requests exist, you can create a new one. Make sure to provide a clear title to easily identify the feature request.
If you think you can contribute code to the PlexPy repository, do not hesitate to submit a pull request.
All pull requests should be based on the dev
branch, to minimize cross merges. When you want to develop a new feature, clone the repository with git clone origin/dev -b FEATURE_NAME
. Use meaningful commit messages.
The code should work with Python 2.6 and 2.7. Note that PlexPy runs on different platforms, including Network Attached Storage devices such as Synology.
Re-use existing code. Do not hesitate to add logging in your code. You can the logger module plexpy.logger.*
for this. Web requests are invoked via plexpy.request.*
and derived ones. Use these methods to automatically add proper and meaningful error handling.
Although PlexPy did not adapt a code convention in the past, we try to follow the PEP8 conventions for future code. A short summary to remind you (copied from http://wiki.ros.org/PyStyleGuide):
- 4 space indentation
- 80 characters per line
package_name
ClassName
method_name
field_name
_private_something
self.__really_private_field
_global
Document your code. Use docstrings See PEP-257 for more information.
PlexPy has a configuration file for travis-ci. You can add your forked repo to Travis to have it check your code against PEP8, PyLint, and PyFlakes for you. Your pull request will show a green check mark or a red cross on each tested commit, depending on if linting passes.
HTML5 compatible browsers are targetted. There is no specific mobile version of PlexPy yet.
- 4 space indentation
methodName
variableName
ClassName