Commit ea802322 authored by Hermann Krumrey's avatar Hermann Krumrey
Browse files

Merge branch 'develop' into 'master'

Initial Release

See merge request namibsun/python/samsung-ru7179-remote!1
parents f9f1fee1 0401ba33
.idea/
*.iml
cover/
.coverage
*.egg-info/
dist/
build/
test-res/
\ No newline at end of file
stages:
- mirror
- test
- stats
- release
default:
image: namboy94/ci-docker-environment:0.8.0
before_script:
- echo "$SERVER_ACCESS_KEY" > ~/.ssh/id_rsa
- chmod 0600 ~/.ssh/id_rsa
github_mirror:
stage: mirror
tags: [docker]
only: [master, develop]
before_script:
- echo "$GITHUB_SSH_KEY" > ~/.ssh/id_rsa
- chmod 0600 ~/.ssh/id_rsa
script:
- git-mirror-pusher git@github.com:namboy94/samsung-ru7179-remote.git
master develop
stylecheck:
stage: test
tags: [docker]
script:
- python-codestyle-check
type_check:
stage: test
tags: [docker]
script:
- python-static-type-check
unittest:
stage: test
tags: [docker]
script:
- python-unittest
gitstats:
stage: stats
tags: [docker]
script:
- gitstats-gen
docgen:
stage: stats
tags: [docker]
script:
- sphinx-docgen
release_upload:
stage: release
only: [master]
tags: [docker]
script:
- github-release-upload $(cat version) "$(changelog-reader)"
- gitlab-release-upload $(cat version) "$(changelog-reader)"
pypi_upload:
stage: release
only: [master]
tags: [docker]
script:
- pypi-upload
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyStubPackagesAdvertiser" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredPackages">
<list>
<option value="PyQt5" />
</list>
</option>
</inspection_tool>
</profile>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/samsung-ru7179-remote.iml" filepath="$PROJECT_DIR$/.idea/samsung-ru7179-remote.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TestRunnerService">
<option name="projectConfiguration" value="Nosetests" />
<option name="PROJECT_TEST_RUNNER" value="Nosetests" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="9e4bb91a-36c2-4dd3-8b52-f49daeba15df" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/samsung_ru7179_remote/auth.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/samsung_ru7179_remote/commands.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/samsung_ru7179_remote/config.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/samsung_ru7179_remote/key.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bin/samsung-ru7179-remote" beforeDir="false" afterPath="$PROJECT_DIR$/bin/samsung-ru7179-remote" afterDir="false" />
<change beforePath="$PROJECT_DIR$/samsung_ru7179_remote/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/samsung_ru7179_remote/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/setup.py" beforeDir="false" afterPath="$PROJECT_DIR$/setup.py" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileEditorManager">
<leaf>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/setup.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="696">
<caret line="42" column="29" selection-start-line="42" selection-start-column="29" selection-end-line="42" selection-end-column="29" />
<folding>
<element signature="e#762#771#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/doc/sphinx/source/index.rst">
<provider selected="true" editor-type-id="restructured-text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/bin/samsung-ru7179-remote">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="464">
<caret line="47" column="41" selection-start-line="47" selection-start-column="41" selection-end-line="47" selection-end-column="41" />
<folding>
<element signature="e#784#799#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/samsung_ru7179_remote/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="493">
<caret line="17" column="10" selection-start-line="17" selection-start-column="10" selection-end-line="17" selection-end-column="10" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/samsung_ru7179_remote/commands.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret selection-end-line="17" selection-end-column="10" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/samsung_ru7179_remote/auth.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="609">
<caret line="36" column="4" selection-start-line="36" selection-start-column="4" selection-end-line="37" selection-end-column="71" />
<folding>
<element signature="e#762#772#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/samsung_ru7179_remote/config.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="754">
<caret line="55" column="7" selection-start-line="55" selection-start-column="7" selection-end-line="55" selection-end-column="7" />
<folding>
<element signature="e#762#771#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/samsung_ru7179_remote/key.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1653">
<caret line="57" selection-start-line="57" selection-end-line="57" />
<folding>
<element signature="e#762#772#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/doc/sphinx/source/conf.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="522">
<caret line="21" selection-start-line="21" selection-end-line="21" />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Python Script" />
</list>
</option>
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>fe3h</find>
<find>fe3h-checklist</find>
</findStrings>
<replaceStrings>
<replace>samsung-ru7179-remote</replace>
</replaceStrings>
<dirStrings>
<dir>$PROJECT_DIR$</dir>
</dirStrings>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/doc/sphinx/source/conf.py" />
<option value="$PROJECT_DIR$/doc/sphinx/source/index.rst" />
<option value="$PROJECT_DIR$/doc/sphinx/Makefile" />
<option value="$PROJECT_DIR$/CHANGELOG" />
<option value="$PROJECT_DIR$/MANIFEST.in" />
<option value="$PROJECT_DIR$/version" />
<option value="$PROJECT_DIR$/README.md" />
<option value="$PROJECT_DIR$/.gitlab-ci.yml" />
<option value="$PROJECT_DIR$/samsung_ru7179_remote/commands.py" />
<option value="$PROJECT_DIR$/samsung_ru7179_remote/__init__.py" />
<option value="$PROJECT_DIR$/setup.py" />
<option value="$PROJECT_DIR$/samsung_ru7179_remote/config.py" />
<option value="$PROJECT_DIR$/samsung_ru7179_remote/auth.py" />
<option value="$PROJECT_DIR$/samsung_ru7179_remote/key.py" />
<option value="$PROJECT_DIR$/bin/samsung-ru7179-remote" />
</list>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="2560" />
<option name="y" value="-1" />
<option name="width" value="2560" />
<option name="height" value="1441" />
</component>
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="samsung-ru7179-remote" type="b2602c69:ProjectViewProjectNode" />
<item name="samsung-ru7179-remote" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="samsung-ru7179-remote" type="b2602c69:ProjectViewProjectNode" />
<item name="samsung-ru7179-remote" type="462c0819:PsiDirectoryNode" />
<item name="bin" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="samsung-ru7179-remote" type="b2602c69:ProjectViewProjectNode" />
<item name="samsung-ru7179-remote" type="462c0819:PsiDirectoryNode" />
<item name="samsung_ru7179_remote" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="9e4bb91a-36c2-4dd3-8b52-f49daeba15df" name="Default Changelist" comment="" />
<created>1570131186722</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1570131186722</updated>
<workItem from="1570131187885" duration="3694000" />
</task>
<task id="LOCAL-00001" summary="Initialize repository">
<created>1570131736266</created>
<option name="number" value="00001" />
<option name="presentableId" value="LOCAL-00001" />
<option name="project" value="LOCAL" />
<updated>1570131736266</updated>
</task>
<option name="localTasksCounter" value="2" />
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="3694000" />
</component>
<component name="ToolWindowManager">
<frame x="2560" y="-1" width="2560" height="1441" extended-state="6" />
<editor active="true" />
<layout>
<window_info id="Favorites" side_tool="true" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.24980143" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Docker" show_stripe_button="false" />
<window_info anchor="bottom" id="Database Changes" />
<window_info anchor="bottom" id="Version Control" />
<window_info anchor="bottom" id="Python Console" />
<window_info anchor="bottom" id="Terminal" visible="true" weight="0.32981133" />
<window_info anchor="bottom" id="Event Log" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" weight="0.32981133" />
<window_info anchor="bottom" id="Run" order="2" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="right" id="SciView" />
<window_info anchor="right" id="Database" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
</layout>
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="Initialize repository" />
<option name="LAST_COMMIT_MESSAGE" value="Initialize repository" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/CHANGELOG">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/CONTRIBUTING.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor />
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/LICENSE">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/MANIFEST.in">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="15" selection-start-column="15" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/setup.cfg">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/version">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="5" selection-start-column="5" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="522">
<caret line="18" column="55" selection-start-line="18" selection-start-column="55" selection-end-line="18" selection-end-column="55" />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.gitlab-ci.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="580">
<caret line="20" column="55" selection-start-line="20" selection-start-column="48" selection-end-line="20" selection-end-column="69" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/doc/sphinx/Makefile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="805">
<caret line="219" column="48" selection-start-line="219" selection-start-column="48" selection-end-line="219" selection-end-column="48" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/doc/sphinx/source/index.rst">
<provider selected="true" editor-type-id="restructured-text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/samsung_ru7179_remote/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="493">
<caret line="17" column="10" selection-start-line="17" selection-start-column="10" selection-end-line="17" selection-end-column="10" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/doc/sphinx/source/conf.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="522">
<caret line="21" selection-start-line="21" selection-end-line="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/setup.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="696">
<caret line="42" column="29" selection-start-line="42" selection-start-column="29" selection-end-line="42" selection-end-column="29" />
<folding>
<element signature="e#762#771#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/samsung_ru7179_remote/auth.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="609">
<caret line="36" column="4" selection-start-line="36" selection-start-column="4" selection-end-line="37" selection-end-column="71" />
<folding>
<element signature="e#762#772#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/samsung_ru7179_remote/config.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="754">
<caret line="55" column="7" selection-start-line="55" selection-start-column="7" selection-end-line="55" selection-end-column="7" />
<folding>
<element signature="e#762#771#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/samsung_ru7179_remote/commands.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret selection-end-line="17" selection-end-column="10" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/bin/samsung-ru7179-remote">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="464">
<caret line="47" column="41" selection-start-line="47" selection-start-column="41" selection-end-line="47" selection-end-column="41" />
<folding>
<element signature="e#784#799#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/samsung_ru7179_remote/key.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1653">
<caret line="57" selection-start-line="57" selection-end-line="57" />
<folding>
<element signature="e#762#772#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>
\ No newline at end of file
V 0.1.0:
- Project Start
\ No newline at end of file
# Contributing
## Copyright and Management
The original author, Hermann Krumrey, has the absolute authority on the management
of this project and may steer the development process as he sees fit.
Contributions will be attributed to the author of said code and the copyright will
remain the author's.
## Contributing
All active development is done on a [self-hosted Gitlab server](https://gitlab.namibsun.net).
To contribute, send an email to hermann@krumreyh.com to create an account. Once you have an
account, you may issue a merge or pull request.
Using the Gitlab issue tracker is preferred, but the issues on Github are also
taken into consideration.
\ No newline at end of file
This diff is collapsed.
include version
\ No newline at end of file
# samsung-ru7179-remote
|master|develop|
|:----:|:-----:|
|[![build status](https://gitlab.namibsun.net/namibsun/python/samsung-ru7179-remote/badges/master/build.svg)](https://gitlab.namibsun.net/namibsun/python/samsung-ru7179-remote/commits/master)|[![build status](https://gitlab.namibsun.net/namibsun/python/samsung-ru7179-remote/badges/develop/build.svg)](https://gitlab.namibsun.net/namibsun/python/samsung-ru7179-remote/commits/develop)|
![Logo](resources/logo/logo-readme.png)
This is a remote for Samsung RU7179 models. It may work with other models,
but this is untested.
## Further Information
* [Changelog](CHANGELOG)
* [License (GPLv3)](LICENSE)
* [Gitlab](https://gitlab.namibsun.net/namibsun/python/samsung-ru7179-remote)
* [Github](https://github.com/namboy94/samsung-ru7179-remote)
* [Progstats](https://progstats.namibsun.net/projects/samsung-ru7179-remote)
* [PyPi](https://pypi.org/project/samsung-ru7179-remote)
#!/usr/bin/env python
"""LICENSE
Copyright 2019 Hermann Krumrey <hermann@krumreyh.com>
This file is part of samsung-ru7179-remote.
samsung-ru7179-remote is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
samsung-ru7179-remote is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with samsung-ru7179-remote. If not, see <http://www.gnu.org/licenses/>.
LICENSE"""
import argparse
from puffotter.init import cli_start, argparse_add_verbosity
from puffotter.prompt import prompt
from puffotter.os import makedirs
from samsung_ru7179_remote import sentry_dsn
from samsung_ru7179_remote.config import config_dir, write_config
from samsung_ru7179_remote.commands import valid_keys
from samsung_ru7179_remote.auth import authenticate