Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
easy-media-controller
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mihkevich
easy-media-controller
Commits
83ebbd0e
Commit
83ebbd0e
authored
Dec 20, 2021
by
mihkevich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
worked project on pi
parent
fa3422e5
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
31 additions
and
14 deletions
+31
-14
key_listener.py
key_listener.py
+16
-6
main.py
main.py
+4
-4
my_logger.py
my_logger.py
+9
-1
start.sh
start.sh
+2
-3
No files found.
key_listener.py
View file @
83ebbd0e
...
...
@@ -3,6 +3,8 @@ from time import sleep
import
os
,
sys
import
evdev
import
subprocess
from
threading
import
Thread
log
=
Log
(
"key_listener"
)
def
call_main
():
...
...
@@ -15,10 +17,10 @@ def call_main():
keyboard_device
=
None
call_main
()
sys
.
exit
()
try
:
"""
for i in range(6):
string_device = "/dev/input/event"+str(i)
log.info(string_device)
...
...
@@ -29,9 +31,18 @@ try:
log.info("Keyboard device detected")
keyboard_device = device
break
"""
string_device
=
"/dev/input/event"
+
str
(
0
)
log
.
info
(
string_device
)
device
=
evdev
.
InputDevice
(
string_device
)
keyboard_device
=
device
for
event
in
keyboard_device
.
read_loop
():
if
event
.
type
==
evdev
.
ecodes
.
EV_KEY
and
event
.
value
==
0
and
event
.
code
==
102
:
call_main
()
if
event
.
type
==
evdev
.
ecodes
.
EV_KEY
and
event
.
value
==
0
and
event
.
code
==
41
:
log
.
info
(
"event_code: {}"
.
format
(
event
.
code
))
th
=
Thread
(
target
=
call_main
())
th
.
start
()
sleep
(
2
)
except
Exception
as
e
:
log
.
error
(
log
.
get_line
())
\ No newline at end of file
log
.
error
(
log
.
get_line
())
main.py
View file @
83ebbd0e
...
...
@@ -12,6 +12,7 @@ from tkinter import ttk
from
tkinter
import
messagebox
log
=
Log
(
"main"
)
os
.
environ
[
"DISPLAY"
]
=
":0"
class
App
(
tkinter
.
Tk
):
def
__init__
(
self
,
*
args
,
**
kwargs
):
...
...
@@ -50,11 +51,11 @@ class App(tkinter.Tk):
file_media_name
=
sheet
.
cell
(
row
=
cell
.
row
,
column
=
3
)
.
value
log
.
info
(
file_media_name
)
command
=
"vlc "
+
file_media_name
log
.
info
(
command
)
app
.
destroy
()
os
.
system
.
__call__
(
command
)
subprocess
.
Popen
(
command
.
split
()
)
return
log
.
info
(
"Запись не найдена"
)
...
...
@@ -72,4 +73,4 @@ try:
app
.
mainloop
()
except
Exception
as
e
:
log
.
error
(
log
.
get_line
())
sys
.
exit
()
\ No newline at end of file
sys
.
exit
()
my_logger.py
View file @
83ebbd0e
...
...
@@ -3,6 +3,8 @@ import os
import
traceback
import
datetime
import
sys
from
time
import
sleep
class
Log
:
def
__init__
(
self
,
name_log
):
...
...
@@ -23,7 +25,13 @@ class Log:
self
.
log
=
logging
.
getLogger
(
"my_log"
)
self
.
log
.
setLevel
(
logging
.
INFO
)
self
.
FH
=
logging
.
FileHandler
(
self
.
logfile
,
encoding
=
'utf-8'
)
try
:
self
.
FH
=
logging
.
FileHandler
(
self
.
logfile
,
encoding
=
'utf-8'
)
except
PermissionError
as
e
:
sleep
(
1
)
self
.
FH
=
logging
.
FileHandler
(
self
.
logfile
[:
-
4
]
+
"perm_err.log"
,
encoding
=
'utf-8'
)
## задаем базовый формат сообщения в логе
self
.
basic_formater
=
logging
.
Formatter
(
'
%(asctime)
s : [
%(levelname)
s] :
%(message)
s'
)
self
.
FH
.
setFormatter
(
self
.
basic_formater
)
...
...
start.sh
View file @
83ebbd0e
#!/bin/bash
/usr/bin/python3 /home/user/dev/easy-media-controller/main.py
exit
;
\ No newline at end of file
/usr/bin/python3 /home/pi/dev/easy-media-controller/key_listener.py
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment