parent
							
								
									2c38b18df0
								
							
						
					
					
						commit
						d093fac043
					
				
							
								
								
									
										12
									
								
								src/en/patchfriday/build.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								src/en/patchfriday/build.gradle
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | |||||||
|  | apply plugin: 'com.android.application' | ||||||
|  | apply plugin: 'kotlin-android' | ||||||
|  | 
 | ||||||
|  | ext { | ||||||
|  |     appName = 'Tachiyomi: Patch Friday' | ||||||
|  |     pkgNameSuffix = 'en.patchfriday' | ||||||
|  |     extClass = '.PatchFriday' | ||||||
|  |     extVersionCode = 1 | ||||||
|  |     libVersion = '1.2' | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | apply from: "$rootDir/common.gradle" | ||||||
							
								
								
									
										
											BIN
										
									
								
								src/en/patchfriday/res/mipmap-hdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/en/patchfriday/res/mipmap-hdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 4.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/en/patchfriday/res/mipmap-mdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/en/patchfriday/res/mipmap-mdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 2.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/en/patchfriday/res/mipmap-xhdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/en/patchfriday/res/mipmap-xhdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 6.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/en/patchfriday/res/mipmap-xxhdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/en/patchfriday/res/mipmap-xxhdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/en/patchfriday/res/mipmap-xxxhdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/en/patchfriday/res/mipmap-xxxhdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 20 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/en/patchfriday/res/web_hi_res_512.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/en/patchfriday/res/web_hi_res_512.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 135 KiB | 
| @ -0,0 +1,99 @@ | |||||||
|  | package eu.kanade.tachiyomi.extension.en.patchfriday | ||||||
|  | 
 | ||||||
|  | import eu.kanade.tachiyomi.network.GET | ||||||
|  | import eu.kanade.tachiyomi.source.model.* | ||||||
|  | import eu.kanade.tachiyomi.source.online.HttpSource | ||||||
|  | import eu.kanade.tachiyomi.util.asJsoup | ||||||
|  | import okhttp3.OkHttpClient | ||||||
|  | import okhttp3.Request | ||||||
|  | import okhttp3.Response | ||||||
|  | import rx.Observable | ||||||
|  | 
 | ||||||
|  | class PatchFriday : HttpSource() { | ||||||
|  | 
 | ||||||
|  |     override val name = "Patch Friday" | ||||||
|  | 
 | ||||||
|  |     override val baseUrl = "https://patchfriday.com" | ||||||
|  | 
 | ||||||
|  |     override val lang = "en" | ||||||
|  | 
 | ||||||
|  |     override val supportsLatest = false | ||||||
|  | 
 | ||||||
|  |     override val client: OkHttpClient = network.cloudflareClient | ||||||
|  | 
 | ||||||
|  |     private fun createManga(): SManga { | ||||||
|  |         return SManga.create().apply { | ||||||
|  |             initialized = true | ||||||
|  |             title = "Patch Friday" | ||||||
|  |             url = "" | ||||||
|  |             thumbnail_url = "https://patchfriday.com/patches/68.png" | ||||||
|  |             description = "The IT security webcomic" | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Popular | ||||||
|  | 
 | ||||||
|  |     override fun fetchPopularManga(page: Int): Observable<MangasPage> { | ||||||
|  |         return Observable.just(MangasPage(listOf(createManga()), false)) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun popularMangaRequest(page: Int): Request = throw UnsupportedOperationException("Not used") | ||||||
|  | 
 | ||||||
|  |     override fun popularMangaParse(response: Response): MangasPage = throw UnsupportedOperationException("Not used") | ||||||
|  | 
 | ||||||
|  |     // Latest | ||||||
|  | 
 | ||||||
|  |     override fun latestUpdatesRequest(page: Int): Request = throw UnsupportedOperationException("Not used") | ||||||
|  | 
 | ||||||
|  |     override fun latestUpdatesParse(response: Response): MangasPage = throw UnsupportedOperationException("Not used") | ||||||
|  | 
 | ||||||
|  |     // Search | ||||||
|  | 
 | ||||||
|  |     override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable<MangasPage> = Observable.just(MangasPage(emptyList(), false)) | ||||||
|  | 
 | ||||||
|  |     override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request = throw UnsupportedOperationException("Not used") | ||||||
|  | 
 | ||||||
|  |     override fun searchMangaParse(response: Response): MangasPage = throw UnsupportedOperationException("Not used") | ||||||
|  | 
 | ||||||
|  |     // Details | ||||||
|  | 
 | ||||||
|  |     override fun fetchMangaDetails(manga: SManga): Observable<SManga> { | ||||||
|  |         return Observable.just(createManga()) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun mangaDetailsParse(response: Response): SManga = throw UnsupportedOperationException("Not used") | ||||||
|  | 
 | ||||||
|  |     // Chapters | ||||||
|  | 
 | ||||||
|  |     override fun chapterListParse(response: Response): List<SChapter> { | ||||||
|  |         val last = response.asJsoup().select("ul.strip_toolbar li a[rel=next]").attr("href") | ||||||
|  |             .removeSurrounding("/").toInt() | ||||||
|  | 
 | ||||||
|  |         return listOf(1 .. last).flatten().reversed().map { | ||||||
|  |             SChapter.create().apply { | ||||||
|  |                 name = "#$it - " | ||||||
|  |                 url = "/$it/" | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun prepareNewChapter(chapter: SChapter, manga: SManga) { | ||||||
|  |         val cName = client.newCall(GET(baseUrl + chapter.url)).execute().asJsoup().select("div#strip_title").text() | ||||||
|  | 
 | ||||||
|  |         chapter.apply { name += cName } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Pages | ||||||
|  | 
 | ||||||
|  |     override fun fetchPageList(chapter: SChapter): Observable<List<Page>> { | ||||||
|  |         return Observable.just(listOf(Page(0, baseUrl + chapter.url))) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun pageListParse(response: Response): List<Page> = throw UnsupportedOperationException("Not used") | ||||||
|  | 
 | ||||||
|  |     override fun imageUrlParse(response: Response): String { | ||||||
|  |         return response.asJsoup().select("div#strip_image img").attr("abs:src") | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun getFilterList() = FilterList() | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Mike
						Mike