Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
CIRCLE
/
client
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
2
Merge Requests
0
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
A prog2-höz tartozó friss repo anyagok itt elérhetőek:
https://git.iit.bme.hu/
Commit
2d8c393f
authored
Jun 30, 2014
by
Csók Tamás
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bugfixes, +added custom url handler (Debian based systems)
parent
1dde927f
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
46 additions
and
27 deletions
+46
-27
dist/cloud.desktop
+5
-3
dist/cloud.py
+17
-11
dist/install.sh
+7
-2
src/python/cloud.py
+17
-11
No files found.
dist/cloud.desktop
100644 → 100755
View file @
2d8c393f
[Desktop Entry]
[Desktop Entry]
Version=0.1
Encoding=UTF-8
Version=0.2
Type=Application
Name=Cloud GUI
Name=Cloud GUI
Comment=Tool to use IK Cloud
Comment=Tool to use IK Cloud
Exec=cloud2
Exec=cloud2
%u
Icon=/usr/share/icons/cloud.svg
Icon=/usr/share/icons/cloud.svg
Terminal=true
Terminal=true
Type=Application
MimeType=x-scheme-handler/rdp;x-scheme-handler/nx;x-scheme-handler/ssh;
Categories=Utility;Application;
Categories=Utility;Application;
dist/cloud.py
View file @
2d8c393f
...
@@ -30,6 +30,7 @@ class Struct:
...
@@ -30,6 +30,7 @@ class Struct:
def
pars_arguments
():
def
pars_arguments
():
parser
=
argparse
.
ArgumentParser
();
parser
=
argparse
.
ArgumentParser
();
parser
.
add_argument
(
"uri"
,
type
=
str
,
help
=
"Specific schema handler"
,
nargs
=
'?'
,
default
=
None
)
parser
.
add_argument
(
"-u"
,
"--username"
,
type
=
str
)
parser
.
add_argument
(
"-u"
,
"--username"
,
type
=
str
)
parser
.
add_argument
(
"-p"
,
"--password"
,
type
=
str
)
parser
.
add_argument
(
"-p"
,
"--password"
,
type
=
str
)
parser
.
add_argument
(
"-d"
,
"--driver"
,
help
=
"Select webdriver. Aside from Firefox, you have to install first the proper driver."
,
\
parser
.
add_argument
(
"-d"
,
"--driver"
,
help
=
"Select webdriver. Aside from Firefox, you have to install first the proper driver."
,
\
...
@@ -106,16 +107,16 @@ class Browser:
...
@@ -106,16 +107,16 @@ class Browser:
vm
=
Struct
()
vm
=
Struct
()
driver
=
self
.
driver
driver
=
self
.
driver
driver
.
maximize_window
()
driver
.
maximize_window
()
driver
.
get
(
"https://
demo.cloud.bme
.hu/"
)
driver
.
get
(
"https://
pc3.szgt.uni-miskolc
.hu/"
)
driver
.
find_element_by_css_selector
(
"a[href*='/login/']"
)
.
click
()
#
driver.find_element_by_css_selector("a[href*='/login/']").click()
self
.
login
()
#
self.login()
vm
.
state
,
vm
.
protocol
=
""
,
"NONE"
vm
.
state
,
vm
.
protocol
=
""
,
"NONE"
try
:
try
:
while
vm
.
state
.
upper
()[:
3
]
not
in
(
"FUT"
,
"RUN"
):
while
vm
.
state
.
upper
()[:
3
]
not
in
(
"FUT"
,
"RUN"
):
element
=
WebDriverWait
(
driver
,
7200
)
.
until
(
EC
.
presence_of_element_located
((
By
.
CSS_SELECTOR
,
"#vm-details-pw-eye.icon-eye-close"
)))
element
=
WebDriverWait
(
driver
,
7200
)
.
until
(
EC
.
presence_of_element_located
((
By
.
CSS_SELECTOR
,
"#vm-details-pw-eye.icon-eye-close"
)))
vm
.
state
=
driver
.
find_element_by_css_selector
(
"#vm-details-state > span"
)
.
text
vm
.
state
=
driver
.
find_element_by_css_selector
(
"#vm-details-state > span"
)
.
text
#cl: connection string converted to list
#cl: connection string converted to list
cl
=
driver
.
find_element_by_css_selector
(
"#vm-
info-pane > input
"
)
.
get_attribute
(
"value"
)
.
split
()
cl
=
driver
.
find_element_by_css_selector
(
"#vm-
details-connection-string
"
)
.
get_attribute
(
"value"
)
.
split
()
if
cl
[
0
]
==
"sshpass"
:
if
cl
[
0
]
==
"sshpass"
:
vm
.
protocol
=
"SSH"
vm
.
protocol
=
"SSH"
vm
.
user
,
vm
.
host
=
cl
[
6
]
.
split
(
"@"
)
vm
.
user
,
vm
.
host
=
cl
[
6
]
.
split
(
"@"
)
...
@@ -140,12 +141,18 @@ class Browser:
...
@@ -140,12 +141,18 @@ class Browser:
def
main
():
def
main
():
args
=
pars_arguments
()
args
=
pars_arguments
()
browser
=
Browser
(
args
)
if
args
.
uri
is
not
None
:
if
args
.
old
:
vm
=
Struct
()
vm
=
browser
.
old_main
()
vm
.
protocol
,
vm
.
user
,
vm
.
password
,
vm
.
host
,
vm
.
port
=
args
.
uri
.
split
(
':'
,
4
)
else
:
vm
.
protocol
=
vm
.
protocol
.
upper
()
vm
=
browser
.
main
()
vm
.
state
=
"RUN"
browser
.
driver
.
quit
()
else
:
browser
=
Browser
(
args
)
if
args
.
old
:
vm
=
browser
.
old_main
()
else
:
vm
=
browser
.
main
()
browser
.
driver
.
quit
()
if
platform
.
system
()
==
"Linux"
:
if
platform
.
system
()
==
"Linux"
:
from
cloud_connect_from_linux
import
connect
from
cloud_connect_from_linux
import
connect
elif
platform
.
system
()
==
"Windows"
:
elif
platform
.
system
()
==
"Windows"
:
...
@@ -155,4 +162,3 @@ def main():
...
@@ -155,4 +162,3 @@ def main():
if
__name__
==
"__main__"
:
if
__name__
==
"__main__"
:
main
()
main
()
dist/install.sh
View file @
2d8c393f
#!/bin/bash
#!/bin/bash
sudo
apt-get install sshpass python-pip remmina-plugin-nx remmina-plugin-rdp
sudo
apt-get install sshpass python-pip remmina-plugin-nx remmina-plugin-rdp
xdg-user-dirs
sudo
pip install selenium
sudo
pip install selenium
if
[
"
$(
uname
-m
)
"
==
'x86_64'
]
;
then
if
[
"
$(
uname
-m
)
"
==
'x86_64'
]
;
then
...
@@ -8,6 +8,7 @@ if [ "$(uname -m)" == 'x86_64' ]; then
...
@@ -8,6 +8,7 @@ if [ "$(uname -m)" == 'x86_64' ]; then
else
else
sudo
cp remminapasswd32 /usr/local/bin/remminapasswd
sudo
cp remminapasswd32 /usr/local/bin/remminapasswd
fi
fi
sudo
chmod +x /usr/local/bin/remminapasswd
sudo
cp cloud2 /usr/local/bin/
sudo
cp cloud2 /usr/local/bin/
sudo
chmod +x /usr/local/bin/cloud2
sudo
chmod +x /usr/local/bin/cloud2
sudo
cp cloud.py /usr/local/bin/
sudo
cp cloud.py /usr/local/bin/
...
@@ -15,7 +16,10 @@ sudo chmod +x /usr/local/bin/cloud.py
...
@@ -15,7 +16,10 @@ sudo chmod +x /usr/local/bin/cloud.py
sudo
cp cloud_connect_from_linux.py /usr/local/bin/
sudo
cp cloud_connect_from_linux.py /usr/local/bin/
sudo
chmod +x /usr/local/bin/cloud_connect_from_linux.py
sudo
chmod +x /usr/local/bin/cloud_connect_from_linux.py
sudo
cp cloud.svg /usr/share/icons/
sudo
cp cloud.svg /usr/share/icons/
sudo
cp cloud.desktop /usr/share/applications
sudo
chmod +x /usr/share/applications/cloud.desktop
sudo
update-desktop-database
cp cloud.desktop
$(
xdg-user-dir DESKTOP
)
cp cloud.desktop
$(
xdg-user-dir DESKTOP
)
sudo
chmod +x
$(
xdg-user-dir DESKTOP
)
/cloud.desktop
chmod +x
$(
xdg-user-dir DESKTOP
)
/cloud.desktop
remmina
remmina
\ No newline at end of file
src/python/cloud.py
View file @
2d8c393f
...
@@ -30,6 +30,7 @@ class Struct:
...
@@ -30,6 +30,7 @@ class Struct:
def
pars_arguments
():
def
pars_arguments
():
parser
=
argparse
.
ArgumentParser
();
parser
=
argparse
.
ArgumentParser
();
parser
.
add_argument
(
"uri"
,
type
=
str
,
help
=
"Specific schema handler"
,
nargs
=
'?'
,
default
=
None
)
parser
.
add_argument
(
"-u"
,
"--username"
,
type
=
str
)
parser
.
add_argument
(
"-u"
,
"--username"
,
type
=
str
)
parser
.
add_argument
(
"-p"
,
"--password"
,
type
=
str
)
parser
.
add_argument
(
"-p"
,
"--password"
,
type
=
str
)
parser
.
add_argument
(
"-d"
,
"--driver"
,
help
=
"Select webdriver. Aside from Firefox, you have to install first the proper driver."
,
\
parser
.
add_argument
(
"-d"
,
"--driver"
,
help
=
"Select webdriver. Aside from Firefox, you have to install first the proper driver."
,
\
...
@@ -106,16 +107,16 @@ class Browser:
...
@@ -106,16 +107,16 @@ class Browser:
vm
=
Struct
()
vm
=
Struct
()
driver
=
self
.
driver
driver
=
self
.
driver
driver
.
maximize_window
()
driver
.
maximize_window
()
driver
.
get
(
"https://
demo.cloud.bme
.hu/"
)
driver
.
get
(
"https://
pc3.szgt.uni-miskolc
.hu/"
)
driver
.
find_element_by_css_selector
(
"a[href*='/login/']"
)
.
click
()
#
driver.find_element_by_css_selector("a[href*='/login/']").click()
self
.
login
()
#
self.login()
vm
.
state
,
vm
.
protocol
=
""
,
"NONE"
vm
.
state
,
vm
.
protocol
=
""
,
"NONE"
try
:
try
:
while
vm
.
state
.
upper
()[:
3
]
not
in
(
"FUT"
,
"RUN"
):
while
vm
.
state
.
upper
()[:
3
]
not
in
(
"FUT"
,
"RUN"
):
element
=
WebDriverWait
(
driver
,
7200
)
.
until
(
EC
.
presence_of_element_located
((
By
.
CSS_SELECTOR
,
"#vm-details-pw-eye.icon-eye-close"
)))
element
=
WebDriverWait
(
driver
,
7200
)
.
until
(
EC
.
presence_of_element_located
((
By
.
CSS_SELECTOR
,
"#vm-details-pw-eye.icon-eye-close"
)))
vm
.
state
=
driver
.
find_element_by_css_selector
(
"#vm-details-state > span"
)
.
text
vm
.
state
=
driver
.
find_element_by_css_selector
(
"#vm-details-state > span"
)
.
text
#cl: connection string converted to list
#cl: connection string converted to list
cl
=
driver
.
find_element_by_css_selector
(
"#vm-
info-pane > input
"
)
.
get_attribute
(
"value"
)
.
split
()
cl
=
driver
.
find_element_by_css_selector
(
"#vm-
details-connection-string
"
)
.
get_attribute
(
"value"
)
.
split
()
if
cl
[
0
]
==
"sshpass"
:
if
cl
[
0
]
==
"sshpass"
:
vm
.
protocol
=
"SSH"
vm
.
protocol
=
"SSH"
vm
.
user
,
vm
.
host
=
cl
[
6
]
.
split
(
"@"
)
vm
.
user
,
vm
.
host
=
cl
[
6
]
.
split
(
"@"
)
...
@@ -140,12 +141,18 @@ class Browser:
...
@@ -140,12 +141,18 @@ class Browser:
def
main
():
def
main
():
args
=
pars_arguments
()
args
=
pars_arguments
()
browser
=
Browser
(
args
)
if
args
.
uri
is
not
None
:
if
args
.
old
:
vm
=
Struct
()
vm
=
browser
.
old_main
()
vm
.
protocol
,
vm
.
user
,
vm
.
password
,
vm
.
host
,
vm
.
port
=
args
.
uri
.
split
(
':'
,
4
)
else
:
vm
.
protocol
=
vm
.
protocol
.
upper
()
vm
=
browser
.
main
()
vm
.
state
=
"RUN"
browser
.
driver
.
quit
()
else
:
browser
=
Browser
(
args
)
if
args
.
old
:
vm
=
browser
.
old_main
()
else
:
vm
=
browser
.
main
()
browser
.
driver
.
quit
()
if
platform
.
system
()
==
"Linux"
:
if
platform
.
system
()
==
"Linux"
:
from
cloud_connect_from_linux
import
connect
from
cloud_connect_from_linux
import
connect
elif
platform
.
system
()
==
"Windows"
:
elif
platform
.
system
()
==
"Windows"
:
...
@@ -155,4 +162,3 @@ def main():
...
@@ -155,4 +162,3 @@ def main():
if
__name__
==
"__main__"
:
if
__name__
==
"__main__"
:
main
()
main
()
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