cessna 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ body {
2
+ padding-top: 20px;
3
+ padding-bottom: 40px;
4
+ }
data/views/browse.haml ADDED
@@ -0,0 +1,24 @@
1
+ - unless @parent_location.nil?
2
+ %ul{class: 'breadcrumb'}
3
+ %li
4
+ %a{href: "/browse/#{Base64.encode64(@parent_location)}"}
5
+ ='..'
6
+ %span{class: 'divider'}='/'
7
+ %li{class: 'active'}
8
+ =@current_folder
9
+
10
+ - unless @folders.empty? && @videos.empty?
11
+ %ul{class: 'unstyled'}
12
+ - @folders.each do |folder|
13
+ %li
14
+ %i{class: 'icon-folder-close'}
15
+ %a{href: "/browse/#{Base64.encode64(folder.location)}"}
16
+ =folder.name
17
+ - @videos.each do |video|
18
+ %li
19
+ %i{class: 'icon-facetime-video'}
20
+ %a{href: "/play/#{Base64.encode64(video.location)}"}
21
+ ="#{video.name}"
22
+ - else
23
+ %div{class: 'alert alert-info'}
24
+ ="No folders or supported video formats were found in this folder..."
data/views/index.haml ADDED
@@ -0,0 +1,16 @@
1
+ %form{ action: '/session', method: 'post', class: 'form-horizontal'}
2
+ %div.control-group
3
+ %label.control-label{for: 'hostname'} Hostname:
4
+ %div.controls
5
+ %input{type: 'text', name: 'hostname', placeholder: 'Hostname'}
6
+ %div.control-group
7
+ %label.control-label{for: 'port'} Port:
8
+ %div.controls
9
+ %input{type: 'text', name: 'port', value: '45631'}
10
+ %div.control-group
11
+ %label.control-label{for: 'password'} Password:
12
+ %div.controls
13
+ %input{type: 'password', name: 'password', placeholder: 'Password'}
14
+ %div.control-group
15
+ %div.controls
16
+ %button{type: 'submit', class: 'btn'} Send
data/views/layout.haml ADDED
@@ -0,0 +1,17 @@
1
+ !!!
2
+ %html
3
+ %head
4
+ %title Cessna
5
+ %link{:rel => 'stylesheet', :href => '/assets/css/bootstrap.css', :type => "text/css"}
6
+ %link{:rel => 'stylesheet', :href => '/assets/css/bootstrap-responsive.css', :type => "text/css"}
7
+ %link{:rel => 'stylesheet', :href => '/assets/css/docs.css', :type => "text/css"}
8
+ %body
9
+ .container
10
+ .row
11
+ %h3{class: 'muted'}
12
+ Cessna
13
+ - if @hostname
14
+ %small="@#{@hostname}"
15
+ %hr
16
+ .row
17
+ =yield
data/views/play.haml ADDED
@@ -0,0 +1,21 @@
1
+ %ul{class: 'breadcrumb'}
2
+ %li
3
+ %a{href: "/browse/#{Base64.encode64(@parent_location)}"}
4
+ =".."
5
+ %span{class: 'divider'}='/'
6
+ %li{class: 'active'}
7
+ =@video_name
8
+
9
+ %h4
10
+ ="Playing: #{@video_name}"
11
+
12
+ - if @video_name.end_with?('.mkv')
13
+ %div{class: 'alert alert-info'}
14
+ ="The playback of the MKV format ist not really supported by HTML5 video and therefore the playback is disabled."
15
+ - else
16
+ %div
17
+ %video{ width: 640, controls: true, autoplay: true, class: 'img-polaroid'}
18
+ %source{src: @video_stream_url}
19
+
20
+ %a{href: @video_stream_url, class: 'btn btn-small'}
21
+ ="Download this video"
metadata ADDED
@@ -0,0 +1,112 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cessna
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Fabian Mettler
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-02-20 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: sinatra
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: haml
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: airvideo
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: A web client for the AirVideo Server
63
+ email:
64
+ - mettler.fabian@gmail.com
65
+ executables:
66
+ - cessna
67
+ extensions: []
68
+ extra_rdoc_files: []
69
+ files:
70
+ - .gitignore
71
+ - Gemfile
72
+ - LICENSE.txt
73
+ - README.md
74
+ - Rakefile
75
+ - bin/cessna
76
+ - cessna.gemspec
77
+ - lib/cessna.rb
78
+ - lib/cessna/version.rb
79
+ - public/assets/css/bootstrap-responsive.css
80
+ - public/assets/css/bootstrap.css
81
+ - public/assets/css/docs.css
82
+ - public/assets/img/glyphicons-halflings-white.png
83
+ - public/assets/img/glyphicons-halflings.png
84
+ - views/browse.haml
85
+ - views/index.haml
86
+ - views/layout.haml
87
+ - views/play.haml
88
+ homepage: https://github.com/maveonair/cessna
89
+ licenses: []
90
+ post_install_message:
91
+ rdoc_options: []
92
+ require_paths:
93
+ - lib
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ requirements: []
107
+ rubyforge_project:
108
+ rubygems_version: 1.8.25
109
+ signing_key:
110
+ specification_version: 3
111
+ summary: A web client for the AirVideo Server
112
+ test_files: []