mirror of
				https://git.macaw.me/skunky/devianter.git
				synced 2025-10-31 17:25: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 | ||||
| 		Comment     string | ||||
| 
 | ||||
| 		TextContent text | ||||
| 		TextContent Text | ||||
| 
 | ||||
| 		User struct { | ||||
| 			Username string | ||||
|  |  | |||
|  | @ -35,21 +35,21 @@ type Deviation struct { | |||
| 	Stats struct { | ||||
| 		Favourites, Views, Downloads int | ||||
| 	} | ||||
| 	Media    media | ||||
| 	Media    Media | ||||
| 	Extended struct { | ||||
| 		Tags []struct { | ||||
| 			Name string | ||||
| 		} | ||||
| 		DescriptionText text | ||||
| 		DescriptionText Text | ||||
| 		RelatedContent  []struct { | ||||
| 			Deviations []Deviation | ||||
| 		} | ||||
| 	} | ||||
| 	TextContent text | ||||
| 	TextContent Text | ||||
| } | ||||
| 
 | ||||
| // её выпердыши | ||||
| type media struct { | ||||
| type Media struct { | ||||
| 	BaseUri string | ||||
| 	Token   []string | ||||
| 	Types   []struct { | ||||
|  | @ -58,7 +58,7 @@ type media struct { | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| type text struct { | ||||
| type Text struct { | ||||
| 	Excerpt string | ||||
| 	Html    struct { | ||||
| 		Markup, Type string | ||||
|  | @ -83,7 +83,7 @@ type Post struct { | |||
| } | ||||
| 
 | ||||
| // преобразование урла в правильный | ||||
| func UrlFromMedia(m media) string { | ||||
| func UrlFromMedia(m Media) string { | ||||
| 	var url strings.Builder | ||||
| 	for _, t := range m.Types { | ||||
| 		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") | ||||
| 
 | ||||
| 	// куки и UA-шник | ||||
| 	if other != nil { | ||||
| 		for num, rng := range other { | ||||
| 			switch num { | ||||
| 			case 1: | ||||
| 				req.Header.Set("User-Agent", rng) | ||||
| 			case 0: | ||||
| 				req.Header.Set("Cookie", rng) | ||||
| 			} | ||||
| 	for num, rng := range other { | ||||
| 		switch num { | ||||
| 		case 1: | ||||
| 			req.Header.Set("User-Agent", rng) | ||||
| 		case 0: | ||||
| 			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 */ | ||||
|  | @ -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=") | ||||
| 		} else { | ||||
| 			e = errors.New("Missing username (last argument)") | ||||
| 			e = errors.New("missing username (last argument)") | ||||
| 			return | ||||
| 		} | ||||
| 	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 { | ||||
| 	ErrorDescription string | ||||
| 	Owner            struct { | ||||
|  | @ -18,32 +50,10 @@ type GRuser struct { | |||
| 			Modules []struct { | ||||
| 				Name       string | ||||
| 				ModuleData struct { | ||||
| 					About struct { | ||||
| 						Country, Website, WebsiteLabel, Gender, Tagline string | ||||
| 						DeviantFor                                      int64 | ||||
| 						SocialLinks                                     []struct { | ||||
| 							Value string | ||||
| 						} | ||||
| 						TextContent text | ||||
| 						Interests   []struct { | ||||
| 							Label, Value string | ||||
| 						} | ||||
| 					} | ||||
| 					CoverDeviation struct { | ||||
| 						Deviation Deviation `json:"coverDeviation"` | ||||
| 					} | ||||
| 					groups | ||||
| 					users | ||||
| 
 | ||||
| 					// группы | ||||
| 					GroupAbout struct { | ||||
| 						Tagline     string | ||||
| 						CreatinDate time `json:"foundationTs"` | ||||
| 						Description text | ||||
| 					} | ||||
| 					GroupAdmins struct { | ||||
| 						Results []struct { | ||||
| 							Username string | ||||
| 						} | ||||
| 					} | ||||
| 					Folders struct { | ||||
| 						Results []struct { | ||||
| 							FolderId int | ||||
|  | @ -52,24 +62,22 @@ type GRuser struct { | |||
| 					} | ||||
| 
 | ||||
| 					// галерея | ||||
| 					ModuleData struct { | ||||
| 						Folder struct { | ||||
| 							Username   string | ||||
| 							Pages      int `json:"totalPageCount"` | ||||
| 							Deviations []Deviation | ||||
| 						} `json:"folderDeviations"` | ||||
| 					} | ||||
| 					Folder struct { | ||||
| 						Username   string | ||||
| 						Pages      int `json:"totalPageCount"` | ||||
| 						Deviations []Deviation | ||||
| 					} `json:"folderDeviations"` | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	PageExtraData struct { | ||||
| 		GruserTagline string | ||||
| 		Stats         struct { | ||||
| 	Extra struct { | ||||
| 		Tag   string `json:"gruserTagline"` | ||||
| 		Stats struct { | ||||
| 			Deviations, Watchers, Watching, Pageviews, CommentsMade, Favourites, Friends int | ||||
| 			FeedComments                                                                 int `json:"commentsReceivedProfile"` | ||||
| 		} | ||||
| 	} | ||||
| 	} `json:"pageExtraData"` | ||||
| } | ||||
| 
 | ||||
| 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) | ||||
| 
 | ||||
| 	return | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 lost+skunk
						lost+skunk