bowshock 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.idea/.rakeTasks +7 -0
- data/.idea/bowshock.iml +18 -0
- data/.idea/encodings.xml +4 -0
- data/.idea/inspectionProfiles/Project_Default.xml +6 -0
- data/.idea/misc.xml +7 -0
- data/.idea/modules.xml +8 -0
- data/.idea/vcs.xml +6 -0
- data/.idea/workspace.xml +489 -0
- data/.travis.yml +7 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +30 -0
- data/LICENSE.txt +21 -0
- data/README.md +43 -0
- data/Rakefile +10 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/bowshock.gemspec +30 -0
- data/lib/bowshock.rb +102 -0
- data/lib/bowshock/apod.rb +26 -0
- data/lib/bowshock/asterank.rb +22 -0
- data/lib/bowshock/donki.rb +186 -0
- data/lib/bowshock/earth.rb +49 -0
- data/lib/bowshock/eonet.rb +102 -0
- data/lib/bowshock/epic.rb +52 -0
- data/lib/bowshock/eva.rb +8 -0
- data/lib/bowshock/exoplanet.rb +63 -0
- data/lib/bowshock/genelab.rb +43 -0
- data/lib/bowshock/helioviewer.rb +183 -0
- data/lib/bowshock/helpers.rb +25 -0
- data/lib/bowshock/version.rb +3 -0
- metadata +117 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module Bowshock
|
|
2
|
+
module Earth
|
|
3
|
+
def imagery(object)
|
|
4
|
+
base_url = "https://api.nasa.gov/planetary/earth/imagery/?"
|
|
5
|
+
|
|
6
|
+
if object["lon"] and object["lat"]
|
|
7
|
+
base_url += "lon=#{object["lon"].to_s}&lat=#{object["lat"].to_s}&"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
if object["date"]
|
|
11
|
+
base_url += "date=#{Helpers.vali_date(object["date"])}&"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
if object["cloud_score"]
|
|
15
|
+
base_url += "cloud_score=#{object["cloud_score"]}&"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
if object["dim"]
|
|
19
|
+
base_url += "dim=#{object["dim"]}&"
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
req_url = "#{base_url}api_key=#{Helpers.nasa_api_key}"
|
|
23
|
+
Helpers.getJson(req_url, "GET")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
module_function :imagery
|
|
27
|
+
|
|
28
|
+
def assets(object)
|
|
29
|
+
base_url = "https://api.nasa.gov/planetary/earth/assets?"
|
|
30
|
+
|
|
31
|
+
if object["lon"] && object["lat"]
|
|
32
|
+
base_url += "lon=#{object["lon"].to_s}&lat=#{object["lat"].to_s}&"
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
if object["begin"]
|
|
36
|
+
base_url += "begin=#{Helpers.vali_date(object["begin"])}&"
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
if object["end"]
|
|
40
|
+
base_url += "end=#{Helpers.vali_date(object["end"])}&"
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
req_url = "#{base_url}api_key=#{Helpers.nasa_api_key}"
|
|
44
|
+
Helpers.getJson(req_url, "GET")
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
module_function :assets
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
module Bowshock
|
|
2
|
+
module Eonet
|
|
3
|
+
def events(object=nil)
|
|
4
|
+
base_url = "https://eonet.sci.gsfc.nasa.gov/api/v2.1/events?"
|
|
5
|
+
|
|
6
|
+
if object == nil
|
|
7
|
+
return Helpers.getJson(base_url.slice(0, -1), "GET")
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
if object["source"]
|
|
11
|
+
base_url += "source=#{object["source"]}&"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
if object["status"]
|
|
15
|
+
base_url += "status=#{object["status"]}&"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
if object["limit"]
|
|
19
|
+
base_url += "limit=#{object["limit"].to_s}&"
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
if object["days"]
|
|
23
|
+
base_url += "days=#{object["days"].to_s}&"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
len = base_url.length() -1
|
|
27
|
+
Helpers.getJson(base_url.slice(0..len), "GET")
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
module_function :events
|
|
31
|
+
|
|
32
|
+
def layers(id)
|
|
33
|
+
base_url = "https://eonet.sci.gsfc.nasa.gov/api/v2.1/layers/#{id.to_s}"
|
|
34
|
+
Helpers.getJson(base_url, "GET");
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
module_function :layers
|
|
38
|
+
|
|
39
|
+
def categories(object =nil)
|
|
40
|
+
base_url = "https://eonet.sci.gsfc.nasa.gov/api/v2.1/categories/"
|
|
41
|
+
|
|
42
|
+
if object == nil
|
|
43
|
+
len = base_url.length() -2
|
|
44
|
+
return Helpers.getJson(base_url.slice(0..len), "GET");
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
base_url += "#{object["id"].to_s}?"
|
|
48
|
+
|
|
49
|
+
if object["source"]
|
|
50
|
+
base_url += "source=#{object["source"]}&"
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
if object["status"]
|
|
54
|
+
base_url += "status=#{object["status"]}&"
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
if object["limit"]
|
|
58
|
+
base_url += "limit=#{object["limit"].to_s}&"
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
if object["days"]
|
|
62
|
+
base_url += "days=#{object["days"].to_s}&"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
len = base_url.length() -1
|
|
66
|
+
Helpers.getJson(base_url.slice(0..len), "GET")
|
|
67
|
+
end
|
|
68
|
+
module_function :categories
|
|
69
|
+
|
|
70
|
+
def sources(object = nil)
|
|
71
|
+
base_url = "https://eonet.sci.gsfc.nasa.gov/api/v2.1/sources/"
|
|
72
|
+
|
|
73
|
+
if object == nil
|
|
74
|
+
len = base_url.length() -2
|
|
75
|
+
return Helpers.getJson(base_url.slice(0..len), "GET");
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
base_url += "#{object["id"].to_s}?"
|
|
79
|
+
|
|
80
|
+
if object["source"]
|
|
81
|
+
base_url += "source=#{object["source"]}&"
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
if object["status"]
|
|
85
|
+
base_url += "status=#{object["status"]}&"
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
if object["limit"]
|
|
89
|
+
base_url += "limit=#{object["limit"].to_s}&"
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
if object["days"]
|
|
93
|
+
base_url += "days=#{object["days"].to_s }&"
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
len = base_url.length() -1
|
|
97
|
+
Helpers.getJson(base_url.slice(0..len), "GET")
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
module_function :sources
|
|
101
|
+
end
|
|
102
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
module Bowshock
|
|
2
|
+
module Epic
|
|
3
|
+
def natural()
|
|
4
|
+
uri = "https://epic.gsfc.nasa.gov/api/natural"
|
|
5
|
+
Helpers.getJson(uri, "GET")
|
|
6
|
+
end
|
|
7
|
+
module_function :natural
|
|
8
|
+
def naturalAll()
|
|
9
|
+
uri = "https://epic.gsfc.nasa.gov/api/natural/all"
|
|
10
|
+
Helpers.getJson(uri, "GET")
|
|
11
|
+
end
|
|
12
|
+
module_function :naturalAll
|
|
13
|
+
|
|
14
|
+
def naturalDate(date)
|
|
15
|
+
uri = "https://epic.gsfc.nasa.gov/api/natural/date/#{Helpers.vali_date(date)}"
|
|
16
|
+
Helpers.getJson(uri, "GET")
|
|
17
|
+
end
|
|
18
|
+
module_function :naturalDate
|
|
19
|
+
|
|
20
|
+
def naturalAvailable()
|
|
21
|
+
uri = "https://epic.gsfc.nasa.gov/api/natural/available"
|
|
22
|
+
Helpers.getJson(uri, "GET")
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
module_function :naturalAvailable
|
|
26
|
+
|
|
27
|
+
def enhanced()
|
|
28
|
+
uri = "https://epic.gsfc.nasa.gov/api/enhanced"
|
|
29
|
+
Helpers.getJson(uri, "GET")
|
|
30
|
+
end
|
|
31
|
+
module_function :enhanced
|
|
32
|
+
def enhancedAll()
|
|
33
|
+
uri = "https://epic.gsfc.nasa.gov/api/enhanced/all"
|
|
34
|
+
Helpers.getJson(uri, "GET")
|
|
35
|
+
end
|
|
36
|
+
module_function :enhancedAll
|
|
37
|
+
|
|
38
|
+
def enhancedDate(date)
|
|
39
|
+
uri = "https://epic.gsfc.nasa.gov/api/enhanced/date/#{Helpers.vali_date(date)}"
|
|
40
|
+
Helpers.getJson(uri, "GET")
|
|
41
|
+
end
|
|
42
|
+
module_function :enhancedDate
|
|
43
|
+
|
|
44
|
+
def enhancedAvailable()
|
|
45
|
+
uri = "https://epic.gsfc.nasa.gov/api/enhanced/available"
|
|
46
|
+
Helpers.getJson(uri, "GET")
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
module_function :enhancedAvailable
|
|
50
|
+
|
|
51
|
+
end
|
|
52
|
+
end
|
data/lib/bowshock/eva.rb
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
module Bowshock
|
|
2
|
+
module ExoPlanet
|
|
3
|
+
def allConfirmedPlanetsAndCols()
|
|
4
|
+
uri = "https://exoplanetarchive.ipac.caltech.edu/cgi-bin/nstedAPI/nph-nstedAPI?&table=exoplanets&format=json"
|
|
5
|
+
Helpers.getJson(uri, 'GET')
|
|
6
|
+
end
|
|
7
|
+
module_function :allConfirmedPlanetsAndCols
|
|
8
|
+
|
|
9
|
+
def confirmedPlanetsInKeplerField()
|
|
10
|
+
uri = "https://exoplanetarchive.ipac.caltech.edu/cgi-bin/nstedAPI/nph-nstedAPI?&table=exoplanets&format=json&where=pl_kepflag=1"
|
|
11
|
+
Helpers.getJson(uri, 'GET')
|
|
12
|
+
end
|
|
13
|
+
module_function :confirmedPlanetsInKeplerField
|
|
14
|
+
|
|
15
|
+
def starsKnownToHostExoPlanets()
|
|
16
|
+
uri = "https://exoplanetarchive.ipac.caltech.edu/cgi-bin/nstedAPI/nph-nstedAPI?&table=exoplanets&select=distinct pl_hostname&order=pl_hostname&format=json"
|
|
17
|
+
Helpers.getJson(uri, 'GET')
|
|
18
|
+
end
|
|
19
|
+
module_function :starsKnownToHostExoPlanets
|
|
20
|
+
|
|
21
|
+
def confirmedPlanetsThatTransitHostStars()
|
|
22
|
+
uri = "https://exoplanetarchive.ipac.caltech.edu/cgi-bin/nstedAPI/nph-nstedAPI?&table=exoplanets&format=json&where=pl_tranflag=1"
|
|
23
|
+
Helpers.getJson(uri, 'GET')
|
|
24
|
+
end
|
|
25
|
+
module_function :confirmedPlanetsThatTransitHostStars
|
|
26
|
+
|
|
27
|
+
def currentNonConfirmedPlanetCandidates()
|
|
28
|
+
uri = "https://exoplanetarchive.ipac.caltech.edu/cgi-bin/nstedAPI/nph-nstedAPI?&table=cumulative&format=json&where=koi_disposition like 'CANDIDATE'"
|
|
29
|
+
Helpers.getJson(uri, 'GET')
|
|
30
|
+
end
|
|
31
|
+
module_function :currentNonConfirmedPlanetCandidates
|
|
32
|
+
|
|
33
|
+
def k2TargetsFromCapaign9()
|
|
34
|
+
uri = "https://exoplanetarchive.ipac.caltech.edu/cgi-bin/nstedAPI/nph-nstedAPI?&table=k2targets&format=json&where=k2_campaign=9"
|
|
35
|
+
Helpers.getJson(uri, 'GET')
|
|
36
|
+
end
|
|
37
|
+
module_function :k2TargetsFromCapaign9
|
|
38
|
+
|
|
39
|
+
def confirmedPlanetsInMissionStarList()
|
|
40
|
+
uri = "https://exoplanetarchive.ipac.caltech.edu/cgi-bin/nstedAPI/nph-nstedAPI?&table=missionstars&format=json&where=st_ppnum>0"
|
|
41
|
+
Helpers.getJson(uri, 'GET')
|
|
42
|
+
end
|
|
43
|
+
module_function :confirmedPlanetsInMissionStarList
|
|
44
|
+
|
|
45
|
+
def getSingleKOI(kepoi_name)
|
|
46
|
+
uri = "https://exoplanetarchive.ipac.caltech.edu/cgi-bin/nstedAPI/nph-nstedAPI?&table=koi&format=json&where=kepoi_name='#{kepoi_name}'"
|
|
47
|
+
Helpers.getJson(uri, 'GET')
|
|
48
|
+
end
|
|
49
|
+
module_function :getSingleKOI
|
|
50
|
+
|
|
51
|
+
def allMicrolensingPlanetsWithTimeSeries()
|
|
52
|
+
uri = "https://exoplanetarchive.ipac.caltech.edu/cgi-bin/nstedAPI/nph-nstedAPI?&table=exoplanets&format=json&where=pl_discmethod like 'Microlensing' and st_nts > 0"
|
|
53
|
+
Helpers.getJson(uri, 'GET')
|
|
54
|
+
end
|
|
55
|
+
module_function :allMicrolensingPlanetsWithTimeSeries
|
|
56
|
+
|
|
57
|
+
def allPlanetaryCandidatesSmallerThan2ReWithEquilibriumTemperaturesBetween180and303K()
|
|
58
|
+
uri = "https://exoplanetarchive.ipac.caltech.edu/cgi-bin/nstedAPI/nph-nstedAPI?table=cumulative&format=json&where=koi_prad<2 and koi_teq>180 and koi_teq<303 and koi_disposition like 'CANDIDATE'"
|
|
59
|
+
Helpers.getJson(uri, 'GET')
|
|
60
|
+
end
|
|
61
|
+
module_function :allPlanetaryCandidatesSmallerThan2ReWithEquilibriumTemperaturesBetween180and303K
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module Bowshock
|
|
2
|
+
module GeneLab
|
|
3
|
+
def search(object)
|
|
4
|
+
base_url = "https://genelab-data.ndc.nasa.gov/genelab/data/search?term=#{object["term"]}&type=#{object["type"]}&"
|
|
5
|
+
|
|
6
|
+
if (object["from"])
|
|
7
|
+
base_url += "from=#{object["from"]}&"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
if (object["size"])
|
|
11
|
+
base_url += "size=#{object["size"]}&"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
if (object["sort"])
|
|
15
|
+
base_url += "sort=#{object["sort"]}&"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
if (object["order"])
|
|
19
|
+
base_url += "order=#{object["order"]}&"
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
if (object["ffield"])
|
|
23
|
+
base_url += "ffield=#{object["ffield"]}&"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
if (object["fvalue"])
|
|
27
|
+
base_url += "fvalue=#{object["fvalue"]}&"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
req_url = "#{base_url}api_key=#{Helpers.nasa_api_key}"
|
|
31
|
+
Helpers.getJson(req_url, "GET")
|
|
32
|
+
end
|
|
33
|
+
module_function :search
|
|
34
|
+
|
|
35
|
+
def htmlSearch(object)
|
|
36
|
+
base_url = "https://genelab-data.ndc.nasa.gov/genelab/search_studies/?q=#{object["query"]}&data_source=#{object["data_source"]}"
|
|
37
|
+
|
|
38
|
+
req_url = "#{base_url}api_key=#{Helpers.nasa_api_key}"
|
|
39
|
+
Helpers.getJson(req_url, "GET")
|
|
40
|
+
end
|
|
41
|
+
module_function :htmlSearch
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
require "down"
|
|
2
|
+
require 'rake'
|
|
3
|
+
require 'fileutil'
|
|
4
|
+
module Bowshock
|
|
5
|
+
module Helioviewer
|
|
6
|
+
def getjp2image(object)
|
|
7
|
+
base_url = "https://api.helioviewer.org/v2/getJP2Image/?"
|
|
8
|
+
|
|
9
|
+
if object["date"][-1] != 'Z'
|
|
10
|
+
object["date"] += 'Z'
|
|
11
|
+
end
|
|
12
|
+
base_url += "date=#{object["date"]}&"
|
|
13
|
+
|
|
14
|
+
if object["sourceId"]
|
|
15
|
+
base_url += "sourceId=#{object["sourceId"]}&"
|
|
16
|
+
end
|
|
17
|
+
base_url += "#json=true&jpip=true"
|
|
18
|
+
|
|
19
|
+
Helpers.getJson(base_url, 'GET')
|
|
20
|
+
end
|
|
21
|
+
module_function :getjp2image
|
|
22
|
+
|
|
23
|
+
def getjp2header(id)
|
|
24
|
+
Helpers.getJson("https://api.helioviewer.org/v2/getJP2Header/?id=#{id}", 'GET')
|
|
25
|
+
end
|
|
26
|
+
module_function :getjp2header
|
|
27
|
+
|
|
28
|
+
def getJPX(object)
|
|
29
|
+
base_url = "https://api.helioviewer.org/v2/getJPX/?"
|
|
30
|
+
|
|
31
|
+
if object["startTime"][-1] != 'Z'
|
|
32
|
+
object["startTime"] += 'Z'
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
base_url += "startTime=#{object["startTime"] }&"
|
|
36
|
+
|
|
37
|
+
if object["endTime"][-1] != 'Z'
|
|
38
|
+
object["endTime"] += 'Z'
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
base_url += "endTime=#{object["endTime"]}&"
|
|
42
|
+
|
|
43
|
+
if object["sourceId"]
|
|
44
|
+
base_url += "sourceId=#{object["sourceId"]}&"
|
|
45
|
+
end
|
|
46
|
+
if object["linked"]
|
|
47
|
+
base_url += "linked=#{object["linked"]}&"
|
|
48
|
+
end
|
|
49
|
+
if object["cadence"]
|
|
50
|
+
base_url += "cadence=#{object["cadence"]}&"
|
|
51
|
+
end
|
|
52
|
+
base_url += "verbose=true&jpip=true"
|
|
53
|
+
Helpers.getJson(base_url, 'GET')
|
|
54
|
+
end
|
|
55
|
+
module_function :getJPX
|
|
56
|
+
|
|
57
|
+
def getJPXClosestToMidPoint(object)
|
|
58
|
+
base_url = "https://api.helioviewer.org/v2/getJPXClosestToMidPoint/?startTimes="
|
|
59
|
+
object["startTimes"].each do |x|
|
|
60
|
+
base_url += "#{x},"
|
|
61
|
+
end
|
|
62
|
+
base_url = "#{base_url.chomp(',') }&endTimes="
|
|
63
|
+
object["endTimes"].each do |x|
|
|
64
|
+
base_url += "#{x},"
|
|
65
|
+
end
|
|
66
|
+
base_url = "#{base_url.chomp(',')}&"
|
|
67
|
+
base_url += "sourceId=#{object["sourceId"]}&"
|
|
68
|
+
if object["linked"]
|
|
69
|
+
base_url += "linked=#{object["linked"]}&"
|
|
70
|
+
end
|
|
71
|
+
base_url += "verbose=true&jpip=true"
|
|
72
|
+
Helpers.getJson(base_url, 'GET')
|
|
73
|
+
end
|
|
74
|
+
module_function :getJPXClosestToMidPoint
|
|
75
|
+
|
|
76
|
+
def queueMovie(object)
|
|
77
|
+
base_url = "https://api.helioviewer.org/v2/queueMovie/?"
|
|
78
|
+
if object["startTime"][-1] != 'Z'
|
|
79
|
+
object["startTime"] += 'Z'
|
|
80
|
+
end
|
|
81
|
+
base_url += "startTime=#{object["startTime"]}&"
|
|
82
|
+
|
|
83
|
+
if object["endTime"][-1] != 'Z'
|
|
84
|
+
object["endTime"] += 'Z'
|
|
85
|
+
end
|
|
86
|
+
base_url += "endTime=#{object["endTime"]}&"
|
|
87
|
+
base_url += "layers=#{object["layers"]}&"
|
|
88
|
+
base_url += "events=#{object["events"]}&"
|
|
89
|
+
base_url += "eventsLabels=#{object["eventsLabels"]}&"
|
|
90
|
+
base_url += "imageScale=#{object["imageScale"]}&"
|
|
91
|
+
|
|
92
|
+
if object["format"]
|
|
93
|
+
base_url += "format=#{object["format"]}&"
|
|
94
|
+
end
|
|
95
|
+
if object["frameRate"]
|
|
96
|
+
base_url += "frameRate=#{object["frameRate"]}&"
|
|
97
|
+
end
|
|
98
|
+
if object["maxFrames"]
|
|
99
|
+
base_url += "maxFrames=#{object["maxFrames"]}&"
|
|
100
|
+
end
|
|
101
|
+
if object["scale"]
|
|
102
|
+
base_url += "scale=#{object["scale"]}&"
|
|
103
|
+
end
|
|
104
|
+
if object["scaleType"]
|
|
105
|
+
base_url += "scaleType=#{object["scaleType"]}&"
|
|
106
|
+
end
|
|
107
|
+
if object["scaleX"]
|
|
108
|
+
base_url += "scaleX=#{object["scaleX"]}&"
|
|
109
|
+
end
|
|
110
|
+
if object["scaleY"]
|
|
111
|
+
base_url += "scaleY=#{object["scaleY"] }&"
|
|
112
|
+
end
|
|
113
|
+
if object["movieLength"]
|
|
114
|
+
base_url += "movieLength=#{object["movieLength"]}&"
|
|
115
|
+
end
|
|
116
|
+
if object["watermark"]
|
|
117
|
+
base_url += "watermark=#{object["watermark"]}&"
|
|
118
|
+
end
|
|
119
|
+
if object["width"]
|
|
120
|
+
base_url += "width=#{object["width"]}&"
|
|
121
|
+
end
|
|
122
|
+
if object["height"]
|
|
123
|
+
base_url += "height=#{object["height"]}&"
|
|
124
|
+
end
|
|
125
|
+
if object["x0"]
|
|
126
|
+
base_url += "x0=#{object["x0"]}&"
|
|
127
|
+
end
|
|
128
|
+
if object["y0"]
|
|
129
|
+
base_url += "y0=#{object["y0"]}&"
|
|
130
|
+
end
|
|
131
|
+
if object["x1"]
|
|
132
|
+
base_url += "x1=#{object["x1"]}&"
|
|
133
|
+
end
|
|
134
|
+
if object["y1"]
|
|
135
|
+
base_url += "y1=#{object["y1"]}&"
|
|
136
|
+
end
|
|
137
|
+
if object["x2"]
|
|
138
|
+
base_url += "x2=#{object["x2"]}&"
|
|
139
|
+
end
|
|
140
|
+
if object["y2"]
|
|
141
|
+
base_url += "y2=#{object["y2"]}&"
|
|
142
|
+
end
|
|
143
|
+
if object["callback"]
|
|
144
|
+
base_url += "callback='#{object["callback"]}&"
|
|
145
|
+
end
|
|
146
|
+
Helpers.getJson(base_url.chomp('&'), 'GET')
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
module_function :queueMovie
|
|
150
|
+
|
|
151
|
+
def reQueueMovie(id)
|
|
152
|
+
Helpers.getJson("https://api.helioviewer.org/v2/reQueueMovie/?id=#{id}", 'GET')
|
|
153
|
+
end
|
|
154
|
+
module_function :reQueueMovie
|
|
155
|
+
|
|
156
|
+
def getMovieStatus(object)
|
|
157
|
+
base_url = "https://api.helioviewer.org/v2/getMovieStatus/?id=#{object["id"]}&format=#{object["format"]}&"
|
|
158
|
+
if object["verbose"]
|
|
159
|
+
base_url += "verbose=#{object["verbose"]}&"
|
|
160
|
+
end
|
|
161
|
+
if object["callback"]
|
|
162
|
+
base_url += "callback=#{object["callback"]}&";
|
|
163
|
+
end
|
|
164
|
+
if object["token"]
|
|
165
|
+
base_url += "token=#{object["token"]}&";
|
|
166
|
+
end
|
|
167
|
+
return Helpers.getJson(base_url.chomp('&'), 'GET')
|
|
168
|
+
end
|
|
169
|
+
module_function :getMovieStatus
|
|
170
|
+
|
|
171
|
+
def downloadMovie(object)
|
|
172
|
+
base_url = "https://api.helioviewer.org/v2/downloadMovie/?id=#{object["id"]}&format=#{object["format"]}&"
|
|
173
|
+
if object["hq"]
|
|
174
|
+
base_url += "hq=#{object["hq"]}"
|
|
175
|
+
end
|
|
176
|
+
Down.download(base_url, destination: "../../movies")
|
|
177
|
+
Dir.glob('../../movies/*').each do |filename|
|
|
178
|
+
FileUtils.mv( filename, filename.ext("mp4"))
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
module_function :downloadMovie
|
|
182
|
+
end
|
|
183
|
+
end
|