| 140 | |
| 141 | @staticmethod |
| 142 | def create(url, time_taken, log_datetime, useragent, ip): |
| 143 | ElaspedTimeDocumentManager.build_index() |
| 144 | ua = UserAgent() |
| 145 | ua.browser = UserAgentBrowser() |
| 146 | ua.browser.Family = useragent.browser.family |
| 147 | ua.browser.Version = useragent.browser.version_string |
| 148 | |
| 149 | ua.os = UserAgentOS() |
| 150 | ua.os.Family = useragent.os.family |
| 151 | ua.os.Version = useragent.os.version_string |
| 152 | |
| 153 | ua.device = UserAgentDevice() |
| 154 | ua.device.Family = useragent.device.family |
| 155 | ua.device.Brand = useragent.device.brand |
| 156 | ua.device.Model = useragent.device.model |
| 157 | ua.string = useragent.ua_string |
| 158 | ua.is_bot = useragent.is_bot |
| 159 | |
| 160 | doc = ElapsedTimeDocument( |
| 161 | meta={ |
| 162 | 'id': int( |
| 163 | round( |
| 164 | time.time() * |
| 165 | 1000)) |
| 166 | }, |
| 167 | url=url, |
| 168 | time_taken=time_taken, |
| 169 | log_datetime=log_datetime, |
| 170 | useragent=ua, ip=ip) |
| 171 | doc.save(pipeline="geoip") |
| 172 | |
| 173 | |
| 174 | class ArticleDocument(Document): |