Ci error fix.

This commit is contained in:
Serhii Londar 2019-06-02 20:47:24 +03:00
parent 8f1d2b9308
commit f4293c7910
3 changed files with 6987 additions and 7394 deletions

80
.github/main.swift vendored
View file

@ -212,55 +212,59 @@ class ReadmeGenerator {
func generateReadme() {
print("Start")
guard let applicationsData = try? Data(contentsOf: URL(fileURLWithPath: FilePaths.applications.rawValue)) else { return }
guard let categoriesData = try? Data(contentsOf: URL(fileURLWithPath: FilePaths.categories.rawValue)) else { return }
let jsonDecoder = JSONDecoder()
guard let applicationsObject = try? jsonDecoder.decode(JSONApplications.self, from: applicationsData) else { return }
guard let categoriesObject = try? jsonDecoder.decode(Categories.self, from: categoriesData) else { return }
var categories = categoriesObject.categories
let subcategories = categories.filter({ $0.parent != nil && !$0.parent!.isEmpty })
let applications = applicationsObject.applications
for subcategory in subcategories {
if let index = categories.lastIndex(where: { $0.parent != subcategory.id }) {
categories.remove(at: index)
}
}
categories = categories.sorted(by: { $0.title < $1.title })
readmeString.append(header)
print("Start iteration....")
for category in categories {
readmeString.append(String.enter + String.section + String.space + category.title + String.enter)
var categoryApplications = applications.filter({ $0.categories.contains(category.id) })
categoryApplications = categoryApplications.sorted(by: { $0.title < $1.title })
do {
let applicationsData = try Data(contentsOf: URL(fileURLWithPath: FilePaths.applications.rawValue))
let categoriesData = try Data(contentsOf: URL(fileURLWithPath: FilePaths.categories.rawValue))
let jsonDecoder = JSONDecoder()
let applicationsObject = try jsonDecoder.decode(JSONApplications.self, from: applicationsData)
let categoriesObject = try jsonDecoder.decode(Categories.self, from: categoriesData)
for application in categoryApplications {
readmeString.append(application.markdownDescription())
readmeString.append(String.enter)
}
var categories = categoriesObject.categories
let subcategories = categories.filter({ $0.parent != nil && !$0.parent!.isEmpty })
let applications = applicationsObject.applications
var subcategories = subcategories.filter({ $0.parent == category.id })
guard subcategories.count > 0 else { continue }
subcategories = subcategories.sorted(by: { $0.title < $1.title })
for subcategory in subcategories {
readmeString.append(String.enter + String.subsection + String.space + subcategory.title + String.enter)
var categoryApplications = applications.filter({ $0.categories.contains(subcategory.id) })
if let index = categories.lastIndex(where: { $0.parent != subcategory.id }) {
categories.remove(at: index)
}
}
categories = categories.sorted(by: { $0.title < $1.title })
readmeString.append(header)
print("Start iteration....")
for category in categories {
readmeString.append(String.enter + String.section + String.space + category.title + String.enter)
var categoryApplications = applications.filter({ $0.categories.contains(category.id) })
categoryApplications = categoryApplications.sorted(by: { $0.title < $1.title })
for application in categoryApplications {
readmeString.append(application.markdownDescription())
readmeString.append(String.enter)
}
var subcategories = subcategories.filter({ $0.parent == category.id })
guard subcategories.count > 0 else { continue }
subcategories = subcategories.sorted(by: { $0.title < $1.title })
for subcategory in subcategories {
readmeString.append(String.enter + String.subsection + String.space + subcategory.title + String.enter)
var categoryApplications = applications.filter({ $0.categories.contains(subcategory.id) })
categoryApplications = categoryApplications.sorted(by: { $0.title < $1.title })
for application in categoryApplications {
readmeString.append(application.markdownDescription())
readmeString.append(String.enter)
}
}
}
print("Finish iteration...")
readmeString.append(footer)
try readmeString.data(using: .utf8)?.write(to: URL(fileURLWithPath: FilePaths.readme.rawValue))
print("Finish")
} catch {
print(error)
}
print("Finish iteration...")
readmeString.append(footer)
try? readmeString.data(using: .utf8)?.write(to: URL(fileURLWithPath: FilePaths.readme.rawValue))
print("Finish")
}
}

View file

@ -358,7 +358,7 @@ You can see in which language an app is written. Currently there are following l
- [Airpass](https://github.com/alvesjtiago/airpass) - Status bar Mac application to overcome time constrained WiFi networks. ![javascript_icon]
- [AnyBar](https://github.com/tonsky/AnyBar) - macOS menubar status indicator. ![objective_c_icon]
- [BitBar](https://github.com/matryer/bitbar) - Put the output from any script or program in your macOS Menu Bar. ![objective_c_icon]
- [CloudyTabs](https://github.com/josh-/CloudyTabs) - Simple menu bar macOS application for displaing lists of your iCloud Tabs and Reading List. ![swift_icon]
- [CloudyTabs](https://github.com/josh-/CloudyTabs) - Simple menu bar macOS application for displaying lists of your iCloud Tabs and Reading List. ![swift_icon]
- [DatWeatherDoe](https://github.com/inderdhir/DatWeatherDoe) - Simple menu bar weather app for macOS written in Swift. ![swift_icon]
- [DisplayMenu](https://github.com/Kwpolska/DisplayMenu) - Simple (bare-bones) macOS menubar extra to apply display presets. ![swift_icon]
- [Dozer](https://github.com/Mortennn/Dozer) - Hide MacOS menubar items. ![swift_icon]
@ -464,6 +464,7 @@ You can see in which language an app is written. Currently there are following l
- [Aerial](https://github.com/JohnCoates/Aerial) - Apple TV Aerial Screensaver for macOS. ![swift_icon]
- [Image-As-Wallpaper](https://github.com/ved62/Image-As-Wallpaper) - Utility application helps with selection of images for using as desktop wallpaper or in screensaver on Mac computers. ![swift_icon]
- [Irvue](https://github.com/leonspok/Irvue-Screensaver) - Screensaver for macOS. ![objective_c_icon]
- [Life Saver](https://github.com/amiantos/lifesaver) - An abstract screensaver based on Conway's Game of Life implemented with SpriteKit ![swift_icon]
- [MusaicFM](https://github.com/docterd/MusaicFM) - iTunes Screensaver Clone for Spotify and Last.fm ![objective_c_icon]
- [Predator](https://github.com/vpeschenkov/Predator) - A predator-inspired clock screensaver for macOS ![swift_icon]
- [The GitHub Matrix Screensaver](https://github.com/winterbe/github-matrix-screensaver) - The GitHub Matrix Screensaver for macOS. ![javascript_icon]
@ -589,6 +590,7 @@ You can see in which language an app is written. Currently there are following l
- [HandBrake](https://github.com/HandBrake/HandBrake) - HandBrake is a video transcoder available for Linux, Mac, and Windows. ![c_icon]
- [MenuTube](https://github.com/edanchenkov/MenuTube) - Catch YouTube into your macOS menu bar! ![javascript_icon]
- [OpenShot](https://github.com/OpenShot/openshot-qt) - Easy to use, quick to learn, and surprisingly powerful video editor. ![python_icon]
- [Quick Caption](https://github.com/LumingYin/Caption) - Transcribe and generate caption files (SRT, ASS and FCPXML) without manually entering time codes. ![swift_icon]
- [QuickLook Video](https://github.com/Marginal/QLVideo) - This package allows macOS Finder to display thumbnails, static QuickLook previews, cover art and metadata for most types of video files. ![objective_c_icon]
- [Subler](https://bitbucket.org/galad87/subler/src) - Subler is an macOS app created to mux and tag mp4 files. ![objective_c_icon]
- [Vid Quiz Creator](https://github.com/sahil-a/vidquizcreator) - macOS application to insert quizzes within video playback and play those videos to receiving devices using the LISNR API. ![swift_icon]

File diff suppressed because it is too large Load diff