appscreens-io-uploader 0.0.5 → 0.0.6
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 871943afdeb92212ec7879149080090439f09c6e
|
4
|
+
data.tar.gz: f6715820cb485f28f07d33cd7f84b051ce5caee8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a85eb662b0786f3a3d17500c8ca9c49ed1bfb67a2afffd801d21f4d09b838837f12251f986f57b136f3df1e6629093817c815e48e6b10ba041bd8ea397eb7218
|
7
|
+
data.tar.gz: 7bb0b8a42c8901897c02e441024e03fd221a7e859dd9607b010e8c15f647d640ea20872bfba18423f8a18da97f36b38b9a744f348bc91ff5ad7bb851dbdb27fa
|
@@ -8,9 +8,8 @@ module AppscreensIoUploader
|
|
8
8
|
def run(path, project_id, screensSize)
|
9
9
|
screenshots = Dir.glob("#{path}/**/*.{png,PNG}")
|
10
10
|
|
11
|
-
screenshots_to_upload =
|
11
|
+
screenshots_to_upload = Hash.new
|
12
12
|
prevHeight = 0
|
13
|
-
maxScreens = 5
|
14
13
|
|
15
14
|
if (project_id.length != 10)
|
16
15
|
Helper.log.error "No valid project_id '#{project_id}' must be exactly 10 chars (copy it from your appscreens.io/[project_id] URL)"
|
@@ -27,14 +26,17 @@ module AppscreensIoUploader
|
|
27
26
|
|
28
27
|
begin
|
29
28
|
screenshot = Screenshot.new(full_path)
|
30
|
-
if screensSize == screenshot.screen_size
|
29
|
+
if screensSize == screenshot.screen_size
|
31
30
|
if !screenshot.is_portrait?
|
32
31
|
raise "appscreens.io only supports PORTRAIT Orientation for now".red
|
33
32
|
end
|
34
33
|
if !screenshot.is_supported_screen_size?
|
35
|
-
raise "appscreens.io only supports 4.7inch
|
34
|
+
raise "appscreens.io only supports 4inch, 4.7inch and 5.5inch screen sizes to upload".red
|
36
35
|
end
|
37
|
-
screenshots_to_upload
|
36
|
+
if screenshots_to_upload[screenshot.language].nil?
|
37
|
+
screenshots_to_upload[screenshot.language] = Array.new
|
38
|
+
end
|
39
|
+
screenshots_to_upload[screenshot.language] << screenshot
|
38
40
|
end
|
39
41
|
rescue => ex
|
40
42
|
Helper.log.error ex
|
@@ -42,7 +44,7 @@ module AppscreensIoUploader
|
|
42
44
|
end
|
43
45
|
|
44
46
|
if screenshots_to_upload.count == 0
|
45
|
-
Helper.log.error "Could not find any
|
47
|
+
Helper.log.error "Could not find any screenshots that fit the spec, please check again".red
|
46
48
|
else
|
47
49
|
uploader = Uploader.new
|
48
50
|
uploader.upload!(project_id, screenshots_to_upload)
|
@@ -3,6 +3,7 @@ module AppscreensIoUploader
|
|
3
3
|
class Screenshot
|
4
4
|
attr_accessor :path # path to the screenshot
|
5
5
|
attr_accessor :size # size in px array of 2 elements: height and width
|
6
|
+
attr_accessor :language # 2 letter language code parsed out of file name - if not found en is used
|
6
7
|
attr_accessor :screen_size # deliver screen size type, is unique per device type, used in device_name
|
7
8
|
|
8
9
|
# path: Path to screenshot
|
@@ -12,6 +13,14 @@ module AppscreensIoUploader
|
|
12
13
|
@path = path
|
13
14
|
@size = FastImage.size(path)
|
14
15
|
|
16
|
+
matched_language = /\/([a-zA-Z]{2})-/.match(path)
|
17
|
+
if matched_language
|
18
|
+
@language = matched_language.captures[0]
|
19
|
+
else
|
20
|
+
@language = 'en'
|
21
|
+
Helper.log.info "cannot find language in filename fallback to 'en' file: #{path}"
|
22
|
+
end
|
23
|
+
|
15
24
|
@screen_size = Deliver::AppScreenshot.calculate_screen_size(path)
|
16
25
|
end
|
17
26
|
|
@@ -2,6 +2,7 @@ module AppscreensIoUploader
|
|
2
2
|
|
3
3
|
class Uploader
|
4
4
|
def upload!(project_id, screenshots)
|
5
|
+
|
5
6
|
base_uri = 'https://appscreens.io'
|
6
7
|
api_base_uri = base_uri + '/api/v1'
|
7
8
|
screens_uri = '/projects/' + project_id + '/screens'
|
@@ -10,27 +11,26 @@ module AppscreensIoUploader
|
|
10
11
|
response = HTTParty.get(api_base_uri + screens_uri)
|
11
12
|
if response.code == 200
|
12
13
|
screens = JSON.parse(response.body)
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
14
|
+
screenshots.each do |language, screenshots_per_language|
|
15
|
+
screenshots_per_language.each_with_index do |screenshot, index|
|
16
|
+
screens.each do |screen|
|
17
|
+
if screen['language'] == language && index == screen['order'].to_i
|
18
|
+
screenshot_path = screenshot.path
|
19
|
+
Helper.log.info "uploading screenshot #{screenshot_path} screen nr: #{(screen['order'].to_i+1)} lang: #{screen['language']}"
|
20
|
+
# POST /projects/{project_id}/screens/{screen_id}/image
|
21
|
+
upload_response = HTTMultiParty.post(api_base_uri + screens_uri + '/' + screen['id'] + '/image', :query => {
|
22
|
+
:image => File.new(screenshot_path)
|
23
|
+
})
|
24
|
+
if response.code == 200
|
25
|
+
Helper.log.info "successfully uploaded screenshot #{screenshot_path}".green
|
26
|
+
else
|
27
|
+
Helper.log.error "error while uploading screenshot #{screenshot_path} #{upload_response.body}"
|
28
|
+
end
|
29
|
+
else
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
32
33
|
end
|
33
|
-
|
34
34
|
end
|
35
35
|
|
36
36
|
else
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appscreens-io-uploader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Griesser
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - '>'
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0.
|
61
|
+
version: '0.11'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '>'
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0.
|
68
|
+
version: '0.11'
|
69
69
|
description: Upload your screenshots to https://appscreens.io
|
70
70
|
email:
|
71
71
|
- daniel.griesser.86@gmail.com
|