mirror of
				https://git.macaw.me/skunky/devianter.git
				synced 2025-11-01 01:35:09 +03:00 
			
		
		
		
	крымские наработки
This commit is contained in:
		
							parent
							
								
									cec788554a
								
							
						
					
					
						commit
						efa4b86a67
					
				
					 5 changed files with 75 additions and 53 deletions
				
			
		
							
								
								
									
										16
									
								
								.vscode/launch.json
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								.vscode/launch.json
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | ||||||
|  | { | ||||||
|  |     // Use IntelliSense to learn about possible attributes. | ||||||
|  |     // Hover to view descriptions of existing attributes. | ||||||
|  |     // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 | ||||||
|  |     "version": "0.2.0", | ||||||
|  |     "configurations": [ | ||||||
|  |         { | ||||||
|  |             "name": "Launch Package", | ||||||
|  |             "type": "go", | ||||||
|  |             "request": "launch", | ||||||
|  |             "mode": "debug", | ||||||
|  |             "program": "${fileDirname}", | ||||||
|  |             "showLog": true | ||||||
|  |         } | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | @ -23,7 +23,7 @@ type Comments struct { | ||||||
| 		Desctiption string | 		Desctiption string | ||||||
| 		Comment     string | 		Comment     string | ||||||
| 
 | 
 | ||||||
| 		TextContent text | 		TextContent Text | ||||||
| 
 | 
 | ||||||
| 		User struct { | 		User struct { | ||||||
| 			Username string | 			Username string | ||||||
|  |  | ||||||
|  | @ -35,21 +35,21 @@ type Deviation struct { | ||||||
| 	Stats struct { | 	Stats struct { | ||||||
| 		Favourites, Views, Downloads int | 		Favourites, Views, Downloads int | ||||||
| 	} | 	} | ||||||
| 	Media    media | 	Media    Media | ||||||
| 	Extended struct { | 	Extended struct { | ||||||
| 		Tags []struct { | 		Tags []struct { | ||||||
| 			Name string | 			Name string | ||||||
| 		} | 		} | ||||||
| 		DescriptionText text | 		DescriptionText Text | ||||||
| 		RelatedContent  []struct { | 		RelatedContent  []struct { | ||||||
| 			Deviations []Deviation | 			Deviations []Deviation | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	TextContent text | 	TextContent Text | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // её выпердыши | // её выпердыши | ||||||
| type media struct { | type Media struct { | ||||||
| 	BaseUri string | 	BaseUri string | ||||||
| 	Token   []string | 	Token   []string | ||||||
| 	Types   []struct { | 	Types   []struct { | ||||||
|  | @ -58,7 +58,7 @@ type media struct { | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type text struct { | type Text struct { | ||||||
| 	Excerpt string | 	Excerpt string | ||||||
| 	Html    struct { | 	Html    struct { | ||||||
| 		Markup, Type string | 		Markup, Type string | ||||||
|  | @ -83,7 +83,7 @@ type Post struct { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // преобразование урла в правильный | // преобразование урла в правильный | ||||||
| func UrlFromMedia(m media) string { | func UrlFromMedia(m Media) string { | ||||||
| 	var url strings.Builder | 	var url strings.Builder | ||||||
| 	for _, t := range m.Types { | 	for _, t := range m.Types { | ||||||
| 		if t.T == "fullview" { | 		if t.T == "fullview" { | ||||||
|  |  | ||||||
							
								
								
									
										18
									
								
								misc.go
									
										
									
									
									
								
							
							
						
						
									
										18
									
								
								misc.go
									
										
									
									
									
								
							|  | @ -48,14 +48,12 @@ func request(uri string, other ...string) reqrt { | ||||||
| 	req.Header.Set("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0.0") | 	req.Header.Set("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0.0") | ||||||
| 
 | 
 | ||||||
| 	// куки и UA-шник | 	// куки и UA-шник | ||||||
| 	if other != nil { | 	for num, rng := range other { | ||||||
| 		for num, rng := range other { | 		switch num { | ||||||
| 			switch num { | 		case 1: | ||||||
| 			case 1: | 			req.Header.Set("User-Agent", rng) | ||||||
| 				req.Header.Set("User-Agent", rng) | 		case 0: | ||||||
| 			case 0: | 			req.Header.Set("Cookie", rng) | ||||||
| 				req.Header.Set("Cookie", rng) |  | ||||||
| 			} |  | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | @ -112,7 +110,7 @@ func AEmedia(name string, t rune) (string, error) { | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return "", errors.New("User not exists") | 	return "", errors.New("user not exists") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* DAILY DEVIATIONS */ | /* DAILY DEVIATIONS */ | ||||||
|  | @ -157,7 +155,7 @@ func SearchFunc(query string, page int, scope rune, user ...string) (ss Search, | ||||||
| 			} | 			} | ||||||
| 			url.WriteString("&type=gallery&order=most-recent&init=true&limit=50&q=") | 			url.WriteString("&type=gallery&order=most-recent&init=true&limit=50&q=") | ||||||
| 		} else { | 		} else { | ||||||
| 			e = errors.New("Missing username (last argument)") | 			e = errors.New("missing username (last argument)") | ||||||
| 			return | 			return | ||||||
| 		} | 		} | ||||||
| 	default: | 	default: | ||||||
|  |  | ||||||
|  | @ -6,6 +6,38 @@ import ( | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // структура группы или пользователя | // структура группы или пользователя | ||||||
|  | type groups struct { | ||||||
|  | 	GroupAbout struct { | ||||||
|  | 		FoundatedAt time `json:"foundationTs"` | ||||||
|  | 		Description Text | ||||||
|  | 	} | ||||||
|  | 	GroupAdmins struct { | ||||||
|  | 		Results []struct { | ||||||
|  | 			Username string | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type About struct { | ||||||
|  | 	Country, Website, WebsiteLabel, Gender string | ||||||
|  | 	RegDate                                int64 `json:"deviantFor"` | ||||||
|  | 	Description                            Text  `json:"textContent"` | ||||||
|  | 
 | ||||||
|  | 	SocialLinks []struct { | ||||||
|  | 		Value string | ||||||
|  | 	} | ||||||
|  | 	Interests []struct { | ||||||
|  | 		Label, Value string | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type users struct { | ||||||
|  | 	About          About | ||||||
|  | 	CoverDeviation struct { | ||||||
|  | 		Deviation Deviation `json:"coverDeviation"` | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
| type GRuser struct { | type GRuser struct { | ||||||
| 	ErrorDescription string | 	ErrorDescription string | ||||||
| 	Owner            struct { | 	Owner            struct { | ||||||
|  | @ -18,32 +50,10 @@ type GRuser struct { | ||||||
| 			Modules []struct { | 			Modules []struct { | ||||||
| 				Name       string | 				Name       string | ||||||
| 				ModuleData struct { | 				ModuleData struct { | ||||||
| 					About struct { | 					groups | ||||||
| 						Country, Website, WebsiteLabel, Gender, Tagline string | 					users | ||||||
| 						DeviantFor                                      int64 |  | ||||||
| 						SocialLinks                                     []struct { |  | ||||||
| 							Value string |  | ||||||
| 						} |  | ||||||
| 						TextContent text |  | ||||||
| 						Interests   []struct { |  | ||||||
| 							Label, Value string |  | ||||||
| 						} |  | ||||||
| 					} |  | ||||||
| 					CoverDeviation struct { |  | ||||||
| 						Deviation Deviation `json:"coverDeviation"` |  | ||||||
| 					} |  | ||||||
| 
 | 
 | ||||||
| 					// группы | 					// группы | ||||||
| 					GroupAbout struct { |  | ||||||
| 						Tagline     string |  | ||||||
| 						CreatinDate time `json:"foundationTs"` |  | ||||||
| 						Description text |  | ||||||
| 					} |  | ||||||
| 					GroupAdmins struct { |  | ||||||
| 						Results []struct { |  | ||||||
| 							Username string |  | ||||||
| 						} |  | ||||||
| 					} |  | ||||||
| 					Folders struct { | 					Folders struct { | ||||||
| 						Results []struct { | 						Results []struct { | ||||||
| 							FolderId int | 							FolderId int | ||||||
|  | @ -52,24 +62,22 @@ type GRuser struct { | ||||||
| 					} | 					} | ||||||
| 
 | 
 | ||||||
| 					// галерея | 					// галерея | ||||||
| 					ModuleData struct { | 					Folder struct { | ||||||
| 						Folder struct { | 						Username   string | ||||||
| 							Username   string | 						Pages      int `json:"totalPageCount"` | ||||||
| 							Pages      int `json:"totalPageCount"` | 						Deviations []Deviation | ||||||
| 							Deviations []Deviation | 					} `json:"folderDeviations"` | ||||||
| 						} `json:"folderDeviations"` |  | ||||||
| 					} |  | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	PageExtraData struct { | 	Extra struct { | ||||||
| 		GruserTagline string | 		Tag   string `json:"gruserTagline"` | ||||||
| 		Stats         struct { | 		Stats struct { | ||||||
| 			Deviations, Watchers, Watching, Pageviews, CommentsMade, Favourites, Friends int | 			Deviations, Watchers, Watching, Pageviews, CommentsMade, Favourites, Friends int | ||||||
| 			FeedComments                                                                 int `json:"commentsReceivedProfile"` | 			FeedComments                                                                 int `json:"commentsReceivedProfile"` | ||||||
| 		} | 		} | ||||||
| 	} | 	} `json:"pageExtraData"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type Group struct { | type Group struct { | ||||||
|  | @ -78,7 +86,7 @@ type Group struct { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // подходит как группа, так и пользователь | // подходит как группа, так и пользователь | ||||||
| func (s Group) GroupFunc() (g Group) { | func (s Group) GroupFunc() (g GRuser) { | ||||||
| 	ujson("dauserprofile/init/about?username="+s.Name, &g) | 	ujson("dauserprofile/init/about?username="+s.Name, &g) | ||||||
| 
 | 
 | ||||||
| 	return | 	return | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 lost+skunk
						lost+skunk