colonelpanic8 / okcupyd

A Library that enables programmatic interaction with okcupid.com, using okcupid.com's private okcupid JSON API and html scraping when necessary.
MIT License
109 stars 18 forks source link

Search request not returning JSON #61

Closed mosesmc52 closed 9 years ago

mosesmc52 commented 9 years ago

Hi I'm executing I'm new to using okcupyd. I just executed this script below, but I'm receiving the following response No handlers could be found for logger "okcupyd.search"

Would you know how I could programmatically configure the logger? Also would you have any insight into the issue.

Thanks,

Moses

import okcupyd

session = okcupyd.Session.login('xxxx','yyy')
u = okcupyd.User(session)

profiles = u.search(age_min=26, age_max=32)
for profile in profiles[:10]:
    profile.message("Pumpkins are just okay.")
colonelpanic8 commented 9 years ago

This is just a warning message (see https://docs.python.org/3.1/library/logging.html). Are you getting a traceback? I suspect that your code is executing.

mosesmc52 commented 9 years ago

Yes ,

Here is my traceback:

/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
No handlers could be found for logger "okcupyd.search"
Traceback (most recent call last):
  File "okc.py", line 8, in <module>
    for profile in profiles[:10]:
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 192, in __getitem__
    return self._handle_slice(item)
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 218, in _handle_slice
    value = next(iterator)
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 164, in _make_nice_repr_iterator
    for item in original_iterable:
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 282, in fetch
    text_response = self._fetcher.fetch(start_at=pos)
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/search.py", line 281, in fetch
    search_html = response.json()['html']
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/requests/models.py", line 802, in json
    return json.loads(self.text, **kwargs)
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/simplejson/__init__.py", line 505, in loads
    return _default_decoder.decode(s)
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/simplejson/decoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
  File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/simplejson/decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
simplejson.scanner.JSONDecodeError: Expecting value: line 3 column 1 (char 3)
colonelpanic8 commented 9 years ago

This has nothing to do with logger warning that you are getting. It seems that the search request is not returning json. It may be that okcupid changed the search uri/request format. Let me take a look.

colonelpanic8 commented 9 years ago

Just tried things out and they are working for me.

Can you run this using the okcupyd command with the --enable-logger='okcupyd.search' flag set? and paste the output?

colonelpanic8 commented 9 years ago

You can also just add

from okcupyd.util import enable_logger
enable_logger('okcupyd.search')

to the beggining of your script.

mosesmc52 commented 9 years ago

I enabled the logger and reran the script. It's really hard to capture the entire message because the html output. Here is the first lines, the rest is html folowed by the json error.

/Users/mosesmccall/.virtualenvs/lovemachine/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning 2015-07-05 16:43:44 qed okcupyd.search[66194] INFO {"search_parameters": {"fromWhoOnline": "0", "locid": "4356642", "sort_type": "0", "filter1": "2,26,32", "filter3": "0,34", "filter2": "3,25", "ajax_load": 1, "count": 9, "discard_prefs": 1, "timekey": 1, "custom_search": "0", "update_prefs": "1", "low": 1, "matchOrderBy": "MATCH", "mygender": "M", "sa": "1", "match_card_class": "just_appended"}} 2015-07-05 16:43:44 qed okcupyd.search[66194] WARNING {"failure": "\r\n\n<!DOCTYPE html> <link rel=\"dns-prefetch\" href=\"//includes.okccdn.com\" /> <link rel=\"dns-prefetch\" href=\"//cdn.okccdn.com\" /> <link rel=\"preconnect\" href=\"//includes.okccdn.com\"> <link rel=\"preconnect\" href=\"//cdn.okccdn.com\"> <meta charset=\"UTF-8\" /> Matches | OkCupid <link rel=\"shortcut icon\" href=\"http://cdn.okccdn.com/media/img/template/favicon.ico\" /> <meta name=\"canonical\" content=\"http://www.okcupid.com/match?count=9&#38;fromWhoOnline=0&#38;matchOrderBy=MATCH&#38;timekey=1&#38;locid=4356642&#38;custom_search=0&#38;update_prefs=1&#38;mygender=M&#38;sort_type=0&#38;filter1=2%2C26%2C32&#38;low=1&#38;filter3=0%2C34&#38;filter2=3%2C25&#38;discard_prefs=1&#38;sa=1&#38;ajax_load=1&#38;match_card_class=just_appended\" /> <meta name=\"description\" content=\"OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!\" /> <link rel=\"apple-touch-icon-precomposed\" href=\"http://cdn.okccdn.com/media/img/template/icon/icon_57x57.png\" /> <link rel=\"apple-touch-icon-precomposed\" href=\"http://cdn.okccdn.com/media/img/template/icon/icon_72x72.png\" sizes=\"72x72\" /> <link rel=\"apple-touch-icon-precomposed\" href=\"http://cdn.okccdn.com/media/img/template/icon/icon_114x114.png\" sizes=\"114x114\" /> <link rel=\"apple-touch-icon-precomposed\" href=\"http://cdn.okccdn.com/media/img/template/icon/icon_144x144.png\" sizes=\"144x144\" /> <meta property=\"fb:app_id\" content=\"153408784666\" /> <meta property=\"og:url\" content=\"http://www.okcupid.com/match?count=9&#38;fromWhoOnline=0&#38;matchOrderBy=MATCH&#38;timekey=1&#38;locid=4356642&#38;custom_search=0&#38;update_prefs=1&#38;mygender=M&#38;sort_type=0&#38;filter1=2%2C26%2C32&#38;low=1&#38;filter3=0%2C34&#38;filter2=3%2C25&#38;discard_prefs=1&#38;sa=1&#38;ajax_load=1&#38;match_card_class=just_appended\"/> <meta property=\"og:image\" content=\"http://cdn.okccdn.com/media/img/template/icon/icon_1024x1024.png\"/> <meta property=\"og:site_name\" content=\"OkCupid | Free Online Dating\"/> <meta property=\"og:title\" content=\"Matches | OkCupid\"/> <meta property=\"og:description\" content=\"OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!\"/> <meta property=\"og:type\" content=\"website\"/> <meta name=\"twitter:card\" content=\"summary\" /> <meta name=\"twitter:domain\" content=\"okcupid.com\" /> <meta name=\"twitter:site\" content=\"@okcupid\" /> <meta name=\"twitter:creator\" content=\"OkCupid\" /> <meta name=\"twitter:title\" content=\"Matches | OkCupid\" /> <meta name=\"twitter:description\" content=\"OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!\" /> <meta name=\"twitter:image:src\" content=\"http://cdn.okccdn.com/media/img/template/icon/icon_1024x1024.png\" /> <meta itemprop=\"name\" content=\"Matches | OkCupid\" /> <meta itemprop=\"description\" content=\"OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!\" /> <meta itemprop=\"image\" content=\"http://cdn.okccdn.com/media/img/template/icon/icon_1024x1024.png\" /> <meta name=\"pinterest\" content=\"nopin\" /> <link rel=\"dns-prefetch\" href=\"//includes.okccdn.com\" /> <link rel=\"dns-prefetch\" href=\"//cdn.okccdn.com\" /> <link rel=\"preconnect\" href=\"//includes.okccdn.com\"> <link rel=\"preconnect\" href=\"//cdn.okccdn.com\"> <meta charset=\"UTF-8\" /> Matches | OkCupid <link rel=\"shortcut icon\" href=\"http://cdn.okccdn.com/media/img/template/favicon.ico\" /> <meta name=\"canonical\" content=\"http://www.okcupid.com/match?count=9&#38;fromWhoOnline=0&#38;matchOrderBy=MATCH&#38;timekey=1&#38;locid=4356642&#38;custom_search=0&#38;update_prefs=1&#38;mygender=M&#38;sort_type=0&#38;filter1=2%2C26%2C32&#38;low=1&#38;filter3=0%2C34&#38;filter2=3%2C25&#38;discard_prefs=1&#38;sa=1&#38;ajax_load=1&#38;match_card_class=just_appended\" /> <meta name=\"description\" content=\"OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!\" /> <link rel=\"apple-touch-icon-precomposed\" href=\"http://cdn.okccdn.com/media/img/template/icon/icon_57x57.png\" /> <link rel=\"apple-touch-icon-precomposed\" href=\"http://cdn.okccdn.com/media/img/template/icon/icon_72x72.png\" sizes=\"72x72\" /> <link rel=\"apple-touch-icon-precomposed\" href=\"http://cdn.okccdn.com/media/img/template/icon/icon_114x114.png\" sizes=\"114x114\" /> <link rel=\"apple-touch-icon-precomposed\" href=\"http://cdn.okccdn.com/media/img/template/icon/icon_144x144.png\" sizes=\"144x144\" /> <meta property=\"fb:app_id\" content=\"153408784666\" /> <meta property=\"og:url\" content=\"http://www.okcupid.com/match?count=9&#38;fromWhoOnline=0&#38;matchOrderBy=MATCH&#38;timekey=1&#38;locid=4356642&#38;custom_search=0&#38;update_prefs=1&#38;mygender=M&#38;sort_type=0&#38;filter1=2%2C26%2C32&#38;low=1&#38;filter3=0%2C34&#38;filter2=3%2C25&#38;discard_prefs=1&#38;sa=1&#38;ajax_load=1&#38;match_card_class=just_appended\"/> <meta property=\"og:image\" content=\"http://cdn.okccdn.com/media/img/template/icon/icon_1024x1024.png\"/> <meta property=\"og:site_name\" content=\"OkCupid | Free Online Dating\"/> <meta property=\"og:title\" content=\"Matches | OkCupid\"/> <meta property=\"og:description\" content=\"OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!\"/> <meta property=\"og:type\" content=\"website\"/> <meta name=\"twitter:card\" content=\"summary\" /> <meta name=\"twitter:domain\" content=\"okcupid.com\" /> <meta name=\"twitter:site\" content=\"@okcupid\" /> <meta name=\"twitter:creator\" content=\"OkCupid\" /> <meta name=\"twitter:title\" content=\"Matches | OkCupid\" /> <meta name=\"twitter:description\" content=\"OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!\" /> <meta name=\"twitter:image:src\" content=\"http://cdn.okccdn.com/media/img/template/icon/icon_1024x1024.png\" /> <meta itemprop=\"name\" content=\"Matches | OkCupid\" /> <meta itemprop=\"description\" content=\"OkCupid is the best dating site on Earth, with apps for iOS and Android. Start meeting people today!\" /> <meta itemprop=\"image\" content=\"http://cdn.okccdn.com/media/img/template/icon/icon_1024x1024.png\" /> <meta name=\"pinterest\" content=\"nopin\" /> <link rel=\"stylesheet\" href=\"//includes.okccdn.com/lang/en/version/fca63e89d44b14b/globals.css\" /><link rel=\"stylesheet\" href=\"//includes.okccdn.com/lang/en/version/c94618735efb0d4/locals.css?set=matchsearch,search_overlay\" /> <script src=\"//includes.okccdn.com/lang/en/version/0.10/core.js?modern=1\"> <script src=\"//includes.okccdn.com/autocore.js?files=c26,c05,c23,c25,d08,d09,f80,d07,d01,f62,f60,d05,f59,b01,f33,f23,f21,f12,c01,f27,j85,f65,j83,f66,f76,f67,f70,f90,f87,f88,f89,c04,f52,f20,f78,f84,f36,f24,f64,f73,f86,d06,j86,f83,j87,j109,d04,f77,c16,f44,f43,f92,f79,f91&version=abf844ee3a\"> <script src=\"//includes.okccdn.com/autocore.js?files=f85,j111&version=2fa356a2d5\"> <script src=\"//includes.okccdn.com/autocore.js?files=b21,b35,c24,g02,g04&version=08c18fbee6\" async> <body id=\"p_match\" class=\"mac webkit logged_in okc2014 chrome expanded\" style=\"margin: 0;\"> <div id=\"global_js_errors\">

<div id=\"leaderboard_container\"> <div id=\"leaderboard_wrapper\"> <div id=\"leaderboard\" class=\"container_16 clearfix\"> <div id=\"leaderboard_int\"> <iframe id=\"ad_frame_leader\" name=\"ad_frame_leader\" class=\"ad\" src=\"http://ads.okcimg.com/daisy?format=leader&amp;base=1&amp;page=Match&amp;authid=1%2c0%2c1436243304%2c0xbc4b4a62b2cab439%3b321b53cb77f9883e1208f23bc5a268c7353162dd&amp;pageurl=%2fmatch&amp;cachebust=887533\" width=\"728\" height=\"90\" marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\" scrolling=\"no\" data-format=\"leader\" allowTransparency=\"true\" >
<main id=\"page\"> <nav id=\"navigation\"> <div class=\"nav-left\"> <h1 id=\"logo\" class=\"nav-logo\"> <a href=\"/home\"> <span class=\"icon\" aria-hidden=\"true\"> <span class=\"text\">OkCupid <ul class=\"nav-links nav-item\"> <li class=\"\"> <a href=\"/match\"> <span class=\"text\"> Browse Matches <li class=\"\"> <a href=\"/quickmatch\"> <span class=\"text\"> Quickmatch <li class=\"\"> <a href=\"https://www.okcupid.com/upgrade?cf=sitenav\"> <span class=\"text\"> Join A-List <div class=\"nav-right \"> <ul class=\"nav-notifications nav-item\"> <li id=\"nav_visitors\" class=\"nav-notifications-item visitors\"> <a href=\"/visitors\"> <span class=\"glyph\" aria-hidden=\"true\"> <i class=\"icon\"> <span class=\"text\"> Visitors <span id=\"nav_visitors_badge\" class=\"badge\"> <span class=\"count\"> 1 <li id=\"nav_ratings\" class=\"nav-notifications-item likes\"> <a href=\"/who-likes-you\"> <span class=\"glyph\" aria-hidden=\"true\"> <i class=\"icon\"> <span class=\"text\"> Likes <li id=\"nav_mailbox\" class=\"nav-notifications-item messages\"> <a href=\"/messages\"> <span class=\"glyph\" aria-hidden=\"true\"> <i class=\"icon\"> <span class=\"text\"> Messages <span id=\"nav_mailbox_badge\" class=\"badge\"> <span class=\"count\"> 1 <div class=\"nav-user\"> <a href=\"/profile\" class=\"nav-user-image\"> <span class=\"text\">show user menu <span class=\"nav-user-image-thumb\"> <img src=\"http://k1.okccdn.com/media/img/user/placeholder_2013/pq_120.png\" alt=\"marsarasaurus\" /> <ul class=\"nav-user-menu\"> <li class=\" profile\"> <a href=\"/profile\" class=\"nav-user-menu-item\"> Profile <li class=\" bookmarks\"> <a href=\"/bookmarks\" class=\"nav-user-menu-item\"> Bookmarks <li class=\" find-a-user\"> <a href=\"/find-a-user\" class=\"nav-user-menu-item\"> Find a user <li class=\" settings\"> <a href=\"/settings\" class=\"nav-user-menu-item\"> Settings <li class=\" sign-out\"> <a href=\"/logout\" class=\"nav-user-menu-item\"> Sign Out <li class=\"upgrade join-alist\"> <a href=\"https://www.okcupid.com/upgrade?cf=usernav\" class=\"nav-user-menu-item\"> Join A-List <div id=\"matchsearch-alist-modal\" class=\"modal aligncenter no-append noclose default_type\"> <div class=\"heading\"> <span class=\"icon\">

Cut to the chase

<div class=\"desc\">

You know what you want, and we can help you find it.
Upgrade to A-List to get access to the sexiest filters:

<div class=\"content \"> <a href=\"https://www.okcupid.com/upgrade?cf=react_match_filters\" class=\"flatbutton blue upgrade\"> Learn more
<button class=\"no-thanks\"> No thanks <div class=\"drag_area\"> <div class=\"top\"> <div class=\"left\"> <div class=\"right\"> <div class=\"bottom\"> <a class=\"close\" href=\"javascript:void(0)\" onclick=\"Modal.close('matchsearch-alist-modal')\"> <span class=\"icon i-close\"> <div id=\"match-filters-wrapper\"> <div id=\"main_content\" class=\"page-section\"> <div class=\"monolith\"> <div id=\"match-results-wrapper\"> <div class=\"match-results match-results-loading\"> <footer class=\"page-section\"> <div id=\"footer\" class=\"container_16 clearfix\"> <ul id=\"footer_nav\">
  • <a href=\"/about\">About
  • <a href=\"/contact-us\">Contact
  • <a href=\"/help/topics\">Help
  • <a href=\"/careers\">Careers
  • <a href=\"/press/news\">Press
  • <a href=\"/legal/terms\">Legal
  • <a href=\"/legal/privacy#third-parties\">Ad Choices
  • <a href=\"/tests\">Tests
  • <a href=\"http://blog.okcupid.com/\">OkTrends
  • <a href=\"/mobile\" target=\"_blank\">Mobile Apps
  • <div id=\"copyright\"> OkCupid © 2015 <div class=\"clear\"> \n\n<div id=\"global_messaging_templates\">\n\n\t\n\t<script type=\"text/template\" id=\"global_messaging_template\" class=\"hidden\">\n\t\t<div data-userid=\"<%- userid %>\"\n\t\t\t\tclass=\"global_messaging\n\t\t\t\t\t<% if (!messages.length) { %> no_messages <% } %>\n\t\t\t\t\t<% if (mobile_mode) { %> mobile_mode <% } %>\n\t\t\t\t\t<% if (userinfo.disabled) { %> disabled <% } %>\n\t\t\t\t\t<% if (userinfo.staff) { %> staff <% } %>\n\t\t\t\t\">\n\n\t\t\t<ul class=\"messages\">\n\t\t\t<ul class=\"appended_message\">\n\n\t\t\t<div class=\"loading_bar_wrapper\">\n\t\t\t\t<div class=\"loading_bar\">\n\t\t\t\n\n\t\t\t<% if (compose_message) { %>\n\t\t\t\t<div class=\"compose_message\">\n\t\t\t\t\t<%= compose_message %>\n\t\t\t\t\n\t\t\t<% } else { %>\n\t\t\t\t<form class=\"compose <% if (enter_to_send) { %>enter_tosend<% } %>\">\n\t\t\t\t\t<div class=\"border\">\n\n\t\t\t\t\t<textarea id=\"message<%- userid %>\"\n\t\t\t\t\t\tplaceholder=\"Compose your message\"\n\t\t\t\t\t>\n\t\t\t\t\t<button type=\"submit\" class=\"flatbutton\">\n\t\t\t\t\t\tSend\n\t\t\t\t\t\n\n\t\t\t\t\t<div class=\"draft_message\">Draft saved\n\n\t\t\t\t\t<label for=\"enter_tosend<%- userid %>\">\n\t\t\t\t\t\tPress enter to send\n\t\t\t\t\t\n\t\t\t\t\t<input type=\"checkbox\"\n\t\t\t\t\t\tid=\"enter_tosend<%- userid %>\"\n\t\t\t\t\t\t<% if (enter_to_send && !mobile_mode) { %>\n\t\t\t\t\t\t\tchecked=\"checked\"\n\t\t\t\t\t\t<% } %>\n\t\t\t\t\t\tclass=\"enter_to_send_checkbox\" />\n\t\t\t\t\n\t\t\t<% } %>\n\t\t\n\t\n\n\t\n\t<script type=\"text/template\" id=\"global_messaging_minimized_template\" class=\"hidden\">\n\t\t<div data-userid=\"<%- userid %>\"\n\t\t\t\tclass=\"global_messaging minimized\n\t\t\t\t\t<% if (properties.unread) { %> unread_messages <% } %>\">\n\t\t\t<div class=\"header\">\n\n\t\t\t\t<div class=\"image\">\n\t\t\t\t\t<img src=\"<%- userinfo.image %>\" alt=\"An image of <%- userinfo.username %>\" />\n\t\t\t\t\t<div class=\"unread_message_icon\">\n\t\t\t\t\t\t<span class=\"icon i-messages\">\n\t\t\t\t\t\t<span class=\"icon i-ellipsis-h\">\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t

    \n\t\t\t\t\t<%- userinfo.username %>\n\t\t\t\t

    \n\n\t\t\t\t<a href=\"#\" class=\"maximize\">\n\n\t\t\t\t<div class=\"controls\">\n\t\t\t\t\t<a href=\"#\" class=\"close\">\n\t\t\t\t\t\t<i class=\"icon i-close\">\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\n\t\t\n\t\n\n\t\n\t<script type=\"text/template\" id=\"global_messaging_header\" class=\"hidden\">\n\t\t<div class=\"header old_template\">\n\t\t\t<a href=\"/profile/<%- userinfo.username %>\">\n\t\t\t\t<div class=\"image\" data-profile-popover data-username=\"<%- userinfo.username %>\">\n\t\t\t\t\t<img src=\"<%- userinfo.image %>\" alt=\"An image of <%- userinfo.username %>\" />\n\t\t\t\t\t<% if (userinfo.is_online) { %>\n\t\t\t\t\t\t<span class=\"online\">online now!\n\t\t\t\t\t<% } %>\n\t\t\t\t\n\t\t\t\t

    \n\t\t\t\t\t<%- userinfo.username %>\n\t\t\t\t

    \n\t\t\t\n\n\t\t\t<div class=\"controls\">\n\t\t\t\t<a href=\"#\" class=\"options\">\n\t\t\t\t\t<i class=\"icon i-ellipsis-v\">\n\t\t\t\t\n\t\t\t\t<a href=\"#\" class=\"minimize\">\n\t\t\t\t\t<i class=\"icon i-minimize\">\n\t\t\t\t\n\t\t\t\t<a href=\"#\" class=\"close\">\n\t\t\t\t\t<i class=\"icon i-close\">\n\t\t\t\t\n\t\t\t\t<div class=\"popover arrowup alignleft\">\n\t\t\t\t\t<div class=\"contents\">\n\t\t\t\t\t\t<a class=\"block\" href=\"#\">Block them\n\t\t\t\t\t\t<a class=\"flag\" href=\"#\">Report a message\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"tail\">\n\t\t\t\t\n\t\t\t\n\n\t\t\t<div class=\"border\">\n\t\t\n\t\n\n\t\n\t\n\n\t<script type=\"text/template\" id=\"global_messaging_message_meta\" class=\"hidden\">\n\t\t\n\t\t<% if (message.im || message.read) { %>\n\t\t\t<div class=\"message_meta <%- message.meta_classes %>\">\n\t\t\t\t<% if (message.im) { %>\n\t\t\t\t\t<span class=\"im_note\">Sent from chat\n\t\t\t\t<% } %>\n\t\t\t\t<% if (message.read) { %>\n\t\t\t\t\t<span class=\"read_receipt\">\n\t\t\t\t\t\t<span class=\"icon i-checkmark\">\n\t\t\t\t\t\tRead\n\t\t\t\t\t\n\t\t\t\t<% } %>\n\t\t\t\n\t\t<% } %>\n\t\n\t\n\n\t\n\t\n\n\t<script type=\"text/template\" id=\"global_messaging_message\" class=\"hidden\">\n\t\t\n\t\t
  • \n\t\t\t<% if (message.show_timestamp) { %>\n\t\t\t\t<div class=\"timestamp\" data-timestamp=\"<%- message.converted_timestamp %>\">\n\t\t\t\t\t<time datetime=\"<%- message.semantic_timestamp %>\">\n\t\t\t\t\t\t<%- message.pretty_timestamp %>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t<% } %>\n\t\t\t<div class=\"<%- message.classes %>\"\n\t\t\t\t\t<% if (message.id) { %>\n\t\t\t\t\t\tdata-id=\"<%- message.id %>\"\n\t\t\t\t\t<% } %>\n\t\t\t\t\tdata-from=\"<%- message.from %>\"\n\t\t\t\t\tdata-timestamp=\"<%- message.timestamp %>\">\n\t\t\t\t<% if (message.is_mutual_match) { %>\n\t\t\t\t\t<div class=\"mutual_match_contents\">\n\t\t\t\t\t\t<span class=\"icon_wrapper\">\n\t\t\t\t\t\t\t<span class=\"icon i-star\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<span class=\"title\">You like each other!\n\t\t\t\t\t\n\t\t\t\t<% } else { %>\n\t\t\t\t\t<%- message.body %>\n\t\t\t\t<% } %>\n\t\t\t\n\t\t\t\n\t\t<% if (message.im || message.read) { %>\n\t\t\t<div class=\"message_meta <%- message.meta_classes %>\">\n\t\t\t\t<% if (message.im) { %>\n\t\t\t\t\t<span class=\"im_note\">Sent from chat\n\t\t\t\t<% } %>\n\t\t\t\t<% if (message.read) { %>\n\t\t\t\t\t<span class=\"read_receipt\">\n\t\t\t\t\t\t<span class=\"icon i-checkmark\">\n\t\t\t\t\t\tRead\n\t\t\t\t\t\n\t\t\t\t<% } %>\n\t\t\t\n\t\t<% } %>\n\t\n\t\t
  • \n\t\n\t\n\n\t\n\t<script type=\"text/template\" id=\"global_messaging_messages\" class=\"hidden\">\n\t\t<% if (show_warning) { %>\n\t\t\t<li class=\"scam_warning\">\n\t\t\t\t
    \n\t\t\t\t\tWarning: Never transfer funds to someone you met on\n\t\t\t\t\tthe Internet and keep your conversations safely on OkCupid. <a href=\"#\"\n\t\t\t\t\tclass=\"scam_warning_moreinfo\">More info\n\t\t\t\t
    \n\t\t\t\n\t\t<% } %>\n\t\t<% .each(messages, function(message, key, list) { %>\n\t\t\t<% if (!message.hidden) { %>\n\t\t\t\t\n\t\t
  • \n\t\t\t<% if (message.show_timestamp) { %>\n\t\t\t\t<div class=\"timestamp\" data-timestamp=\"<%- message.converted_timestamp %>\">\n\t\t\t\t\t<time datetime=\"<%- message.semantic_timestamp %>\">\n\t\t\t\t\t\t<%- message.pretty_timestamp %>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t<% } %>\n\t\t\t<div class=\"<%- message.classes %>\"\n\t\t\t\t\t<% if (message.id) { %>\n\t\t\t\t\t\tdata-id=\"<%- message.id %>\"\n\t\t\t\t\t<% } %>\n\t\t\t\t\tdata-from=\"<%- message.from %>\"\n\t\t\t\t\tdata-timestamp=\"<%- message.timestamp %>\">\n\t\t\t\t<% if (message.is_mutual_match) { %>\n\t\t\t\t\t<div class=\"mutual_match_contents\">\n\t\t\t\t\t\t<span class=\"icon_wrapper\">\n\t\t\t\t\t\t\t<span class=\"icon i-star\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<span class=\"title\">You like each other!\n\t\t\t\t\t\n\t\t\t\t<% } else { %>\n\t\t\t\t\t<%- message.body %>\n\t\t\t\t<% } %>\n\t\t\t\n\t\t\t\n\t\t<% if (message.im || message.read) { %>\n\t\t\t<div class=\"message_meta <%- message.meta_classes %>\">\n\t\t\t\t<% if (message.im) { %>\n\t\t\t\t\t<span class=\"im_note\">Sent from chat\n\t\t\t\t<% } %>\n\t\t\t\t<% if (message.read) { %>\n\t\t\t\t\t<span class=\"read_receipt\">\n\t\t\t\t\t\t<span class=\"icon i-checkmark\">\n\t\t\t\t\t\tRead\n\t\t\t\t\t\n\t\t\t\t<% } %>\n\t\t\t\n\t\t<% } %>\n\t\n\t\t
  • \n\t\n\t\t\t<% } %>\n\t\t<% }); %>\n\t\n\n\t\n\t<script type=\"text/template\" id=\"global_messaging_overflow_template\" class=\"hidden\">\n\t\t<div id=\"global_messaging_overflow\" class=\"open_left\n\t\t\t\t<% if (unread_messages) { %> unread_messages <% } %>\">\n\t\t\t<a id=\"global_messaging_overflow_trigger\" href=\"#\">\n\t\t\t\t<div class=\"icon_wrapper\">\n\t\t\t\t\t<span class=\"icon i-messages\">\n\t\t\t\t\t<span class=\"icon i-ellipsis-h\">\n\t\t\t\t\n\t\t\t\t<span class=\"count <%- count_class %>\">\n\t\t\t\t\t<% if (number_of_threads > 99) { %>\n\t\t\t\t\t\t99+\n\t\t\t\t\t<% } else { %>\n\t\t\t\t\t\t<%- number_of_threads %>\n\t\t\t\t\t<% } %>\n\t\t\t\t\n\t\t\t\n\t\t\t<div id=\"global_messaging_overflow_threads\">\n\t\t\n\t\n\n\t\n\t<script type=\"text/template\" id=\"global_messaging_first_contact\" class=\"hidden\">\n\n\t\t<div class=\"message_success_wrapper old_template\">\n\t\t\t<div class=\"message_success\">\n\t\t\t\tMessage sent!\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\t<div class=\"alist\">\n\t\t\t\t\t\tWant to see if they’ve read it? \n\t\t\t\t\t\t<a href=\"https://www.okcupid.com/upgrade?feature=receipts&cf=message_sent_ad\">\n\t\t\t\t\t\t\tUpgrade to A-List\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\n\n\t\n\n\t\n\t\n\n<div id=\"global_messaging_block_modal\" class=\"modal alignleft noclose default_type\">\n\t\n\n\t\n\n\t\n\t\t<div class=\"title_container\">\n\t\t\t<h2 class=\"title\">Is this person bothering you?\n\t\t\n\t\n\n\t\n\t\t<div class=\"desc\">\n\t\t\t

    \n\t\t\tThis will prevent further communication between you and them.\n\t\t\t<span class=\"modal_error hidden\">Something went wrong. Please refresh and try again.\n\t\t

    \n\t\t\n\t\n\n\n\t<div class=\"content empty\">\n\t\t\n\t\n\n\t\n\n\t<div class=\"drag_area\">\n\t\t<div class=\"top\">\n\t\t<div class=\"left\">\n\t\t<div class=\"right\">\n\t\t<div class=\"bottom\">\n\t\n\n\t<a class=\"close\" href=\"javascript:void(0)\" onclick=\"Modal.close('global_messaging_block_modal')\">\n\t\t<span class=\"icon i-close\">\n\t\n\n\t\n\t\t<div class=\"buttons\">\n\t\t\t\n\t\t\n\t\n\n\n\n\n\n\t\n\t\n\n<div id=\"global_messaging_block_success\" class=\"modal fixed noclose aligncenter global_messaging_success default_type\">\n\t\n\n\t\n\n\t\n\t\t<div class=\"title_container\">\n\t\t\t<h2 class=\"title\">\n\t\t\t<span class=\"icon i-checkmark\">\n\t\t\tBlocked!\n\t\t\n\t\t\n\t\n\n\t\n\n\n\t<div class=\"content \">\n\t\t\n\t\t\t\n\t\t\tYou’ll no longer receive messages from <span class=\"username\">.\n\t\t\t
    You can unblock someone from their profile.\n\t\t\n\t\t\n\t\n\n\t\n\n\t<div class=\"drag_area\">\n\t\t<div class=\"top\">\n\t\t<div class=\"left\">\n\t\t<div class=\"right\">\n\t\t<div class=\"bottom\">\n\t\n\n\t<a class=\"close\" href=\"javascript:void(0)\" onclick=\"Modal.close('global_messaging_block_success')\">\n\t\t<span class=\"icon i-close\">\n\t\n\n\t\n\t\t<div class=\"buttons\">\n\t\t\t\n\t\t\n\t\n\n\n\n\n\n\t\n\t\n\n<div id=\"global_messaging_flag_modal\" class=\"modal fixed noclose flagform default_type\">\n\t\n\n\t\n\n\t\n\t\t<div class=\"title_container\">\n\t\t\t<h2 class=\"title\">Report their message\n\t\t\n\t\n\n\t\n\n\n\t<div class=\"content \">\n\t\t\n\t\t\t\n\t\t\t<form method=\"post\">\n\t\t\t\t\n\t\t\t\t<input type=\"hidden\" name=\"userid\" value=\"\">\n\t\t\t\t<input type=\"hidden\" name=\"objectid\" value=\"\">\n\t\t\t\t<input type=\"hidden\" name=\"name\" value=\"\">\n\n\t\t\t\t<input type=\"hidden\" name=\"type\" value=\"12\">\n\t\t\t\t<input type=\"hidden\" name=\"setnewflag\" value=\"1\">\n\n\t\t\t\t<div class=\"input_group clearfix\">\n\t\t\t\t\t<label for=\"reason\">What’s wrong?\n\t\t\t\t\t<select name=\"reason\" id=\"reason\">\n\t\t\t\t\t\t<option value=\"offensive\">Offensive\n\t\t\t\t\t\t<option value=\"harassment\">Harassment\n\t\t\t\t\t\t<option value=\"scammer\">Scammer\n\t\t\t\t\t\t<option value=\"fake user\">Fake User\n\t\t\t\t\t\t<option value=\"other\">Other\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"input_group clearfix\">\n\t\t\t\t\t<label for=\"comment\">Optionally, tell us more…\n\t\t\t\t\t<textarea id=\"comment\" name=\"comment\">\n\t\t\t\t\n\t\t\t\n\t\t\t<span class=\"modal_error hidden\">Something went wrong. Please refresh and try again.\n\t\t\n\t\t\n\t\n\n\t\n\n\t<div class=\"drag_area\">\n\t\t<div class=\"top\">\n\t\t<div class=\"left\">\n\t\t<div class=\"right\">\n\t\t<div class=\"bottom\">\n\t\n\n\t<a class=\"close\" href=\"javascript:void(0)\" onclick=\"Modal.close('global_messaging_flag_modal')\">\n\t\t<span class=\"icon i-close\">\n\t\n\n\t\n\t\t<div class=\"buttons\">\n\t\t\t\n\t\t\n\t\n\n\n\n\n\n\t\n\t\n\n<div id=\"global_messaging_flag_success\" class=\"modal fixed noclose aligncenter global_messaging_success default_type\">\n\t\n\n\t\n\n\t\n\t\t<div class=\"title_container\">\n\t\t\t<h2 class=\"title\">\n\t\t\t<span class=\"icon i-checkmark\">\n\t\t\tReported!\n\t\t\n\t\t\n\t\n\n\t\n\n\n\t<div class=\"content \">\n\t\t\n\t\t\t\n\t\t\tRetribution will be swift. They’ve also been blocked\n\t\t\t
    \n\t\t\tso you won’t have to deal with them again.\n\t\t\n\t\t\n\t\n\n\t\n\n\t<div class=\"drag_area\">\n\t\t<div class=\"top\">\n\t\t<div class=\"left\">\n\t\t<div class=\"right\">\n\t\t<div class=\"bottom\">\n\t\n\n\t<a class=\"close\" href=\"javascript:void(0)\" onclick=\"Modal.close('global_messaging_flag_success')\">\n\t\t<span class=\"icon i-close\">\n\t\n\n\t\n\t\t<div class=\"buttons\">\n\t\t\t\n\t\t\n\t\n\n\n\n\n\n\t\n\t\n\n<div id=\"global_messaging_scam_warning\" class=\"modal fixed noclose aligncenter default_type\">\n\t\n\n\t\n\n\t\n\t\t<div class=\"title_container\">\n\t\t\t<h2 class=\"title\">\n\t\t\tAvoid internet scams\n\t\t\n\t\t\n\t\n\n\t\n\n\n\t<div class=\"content \">\n\t\t\n\t\t\t\n\t\t\tScams are rare, but you should always follow these guidelines:\n\t\t\t
    \n\t\t\t
      \n\t\t\t\t
    1. Keep your conversation on OkCupid
    2. \n\t\t\t\t
    3. Don’t give money to people on the Internet
    4. \n\t\t\t\t
    5. Don’t believe people who claim to be stranded abroad
    6. \n\t\t\t\t
    7. If you suspect that someone is a scammer, report them
    8. \n\t\t\t
    \n\t\t\n\t\t\n\t\n\n\t\n\n\t<div class=\"drag_area\">\n\t\t<div class=\"top\">\n\t\t<div class=\"left\">\n\t\t<div class=\"right\">\n\t\t<div class=\"bottom\">\n\t\n\n\t<a class=\"close\" href=\"javascript:void(0)\" onclick=\"Modal.close('global_messaging_scam_warning')\">\n\t\t<span class=\"icon i-close\">\n\t\n\n\t\n\t\t<div class=\"buttons\">\n\t\t\t\n\t\t\n\t\n\n\n\n\n\n\n\n <div id=\"im_footer\" class=\"clearfix\"> <div id=\"event_display_container\"> <div id=\"event_display\" onMouseOver=\"EventUiManager.mouseover();\" onMouseOut=\"EventUiManager.mouseout();\"> <div id=\"boost_activity_toggler\"> <a href=\"#\"> <span class=\"icon i-boost\"> <span class=\"text_boost\">Boost <span class=\"text_autoboost\">Auto-Boost activity <span class=\"action icon i-minimize\"> <span class=\"action icon i-maximize\"> <span class=\"close\"> <span class=\"okicon i-close\"> <div id=\"event_display_body\"> <div id=\"global_messaging_container\" class=\"hidden\"> <script id=\"event_notification_template\" type=\"text/template\">\r\n\t\n\n<div class=\"orbit_event <%= event.orbit_class %>\">\n\t<div class=\"orbit_inner\">\n\n\t\t<span class=\"indicator\">\n\n\t\t<img src=\"<%= event.thumbnail %>\" />\n\n\t\t<div class=\"info\">\n\t\t\t<div class=\"user\">\n\t\t\t\t<%= event.screenname %>\n\t\t\t\n\t\t\t<div class=\"action\">\n\t\t\t\t<%= event.infostring %>\n\t\t\t\n\t\t\n\n\t\t<a href=\"<%= event.link %>\"\n\t\t\t\tclass=\"event_link\"\n\t\t\t\tdata-userid=\"<%= event.userid %>\"\n\t\t\t\tdata-eventtype=\"<%= event.eventtype %>\">\n\t\t<a href=\"javascript:void(0)\" class=\"close\">\n\t\t\t<span class=\"icon i-close\">\n\t\t\n\n\t\n\n\r\n <div id=\"okphotos_overlay\"> <div class=\"content\"> <div id=\"okphotos_viewer\" class=\"\"> <div class=\"sidebar_bg\"> <div id=\"okphotos_viewer_sidebar\" class=\"sidebar\"> <div id=\"okphotos_add_photo_container\"> <a id=\"okphotos_add_photo\" class=\"flatbutton blue\">Add Photo<i class=\"icon\"> <div id=\"album_selector\" class=\"popover arrowleft\"> <div class=\"contents\"> <div class=\"content \"> <h4 class=\"prompt\">Add a photo to: <ul class=\"albums\"> <div id=\"new_album_container\"> <a id=\"album_select_new\" href=\"javascript:void(0)\"> Create a new album <i class=\"icon\"> <form id=\"new_album_form\" class=\"okform\"> <input id=\"new_album_title\" placeholder=\"Create a new album\" maxlength=\"22\"/> <button id=\"new_album_save\" class=\"flatbutton blue\">Create <div class=\"instagram_connect\"> <i class=\"icon\"> <p class=\"message\">Stay fresh with Instagram

    <button id=\"okphotos_instagram_connect\" class=\"flatbutton blue\">Connect <div class=\"tail\"> <div class=\"viewer\"> <div class=\"header\"> <h3 class=\"title album_title\"> <div class=\"album_controls controls\"> <a href=\"javascript:void(0)\" id=\"okphotos_edit_album\" class=\"edit\"> <i class=\"icon\"> <a href=\"javascript:void(0)\" id=\"okphotos_delete_album\" class=\"delete\"> <i class=\"icon\"> <div id=\"album_edit_dialog\" class=\"popover arrowup aligncenter\"> <div class=\"contents\"> <div class=\"content \"> <div class=\"okform initialized\"> <input id=\"album_edit_title\" placeholder=\"New album title\"/> <button id=\"album_edit_submit\" class=\"flatbutton blue\">Save <button id=\"album_edit_cancel\" class=\"flatbutton silver\">Cancel <div class=\"tail\"> <div id=\"album_delete_dialog\" class=\"popover arrowup aligncenter\"> <div class=\"contents\"> <div class=\"desc\">

    Are you sure you want to delete this album?

    <div class=\"content \"> <button id=\"album_delete_submit\" class=\"flatbutton red\">Delete <button id=\"album_delete_cancel\" class=\"flatbutton silver\">Cancel <div class=\"tail\"> <span class=\"counter\"> <div class=\"photo\"> <img id=\"okphotos_main_photo\" src=\"\"/> <div class=\"description\"> <div class=\"controls_actions_wrapper\"> <div class=\"actions\"> <div id=\"okphotos_description_form\" class=\"description_actions okform\"> <textarea id=\"okphotos_edit_description\" placeholder=\"Add a caption\"> <button id=\"okphotos_edit_description_confirm\" class=\"flatbutton blue\">Save <button id=\"okphotos_edit_description_cancel\" class=\"flatbutton silver\">Cancel <div class=\"delete_actions\"> <button id=\"okphotos_delete_confirm\" class=\"flatbutton red\">Delete <button id=\"okphotos_delete_cancel\" class=\"flatbutton silver\">Cancel <div class=\"crop_actions\"> <button id=\"okphotos_crop_confirm\" class=\"flatbutton blue\">Save <button id=\"okphotos_crop_cancel\" class=\"flatbutton silver\">Cancel <div class=\"photo_controls controls\"> <a href=\"javascript:void(0)\" id=\"okphotos_edit_photo\" class=\"edit\"> <i class=\"icon\"> <a href=\"javascript:void(0)\" id=\"okphotos_recrop_photo\" class=\"recrop\"> <i class=\"icon\"> <a href=\"javascript:void(0)\" id=\"okphotos_delete_photo\" class=\"delete\"> <i class=\"icon\"> <a href=\"javascript:void(0)\" id=\"okphotos_report_photo\" class=\"report\"> Report photo <div id=\"okphotos_action_area\"> <div id=\"okphotos_upload\" class=\"action\"> <div class=\"action_content\"> <h3 class=\"title\">Where's your photo? <div id=\"service_picker\"> <div class=\"picker_wrapper\"> <div class=\"services\"> <a id=\"service_facebook\" class=\"service\" href=\"javascript:void(0)\"> <i class=\"icon i-facebook-inverted\"> <div class=\"label\">Facebook <form id=\"okphotos_upload_form\" action=\"/ajaxuploader\" method=\"POST\"> <label id=\"service_computer\" class=\"service\" for=\"okphotos_file_input\"> <i class=\"icon i-pc\"> <div class=\"label\"> <span class=\"pc_only\">My PC <span class=\"mac_only\">My Mac <input type=\"file\" value=\"Upload\" id=\"okphotos_file_input\" name=\"file\" accept=\"image/*\"/> <input type=\"hidden\" name=\"userid\" value=\"13568020090150630457\" /> <input type=\"hidden\" name=\"simple_ajax\" value=\"1\" /> <a id=\"service_instagram\" class=\"service\" href=\"javascript:void(0)\"> <i class=\"icon i-instagram\"> <div class=\"label\">Instagram <div id=\"iframe_container\"> <p class=\"dragndrop_message\"> Drop it like it\u2019s hot

    <div id=\"okphotos_dragndrop\"> <div id=\"okphotos_rules\" class=\"user_tips\"> Photos need to be larger 400 x 400px and you need to be in the photo. Also, no naughty bits! <div id=\"okphotos_photo_tiles\" class=\"action\"> <div id=\"photo_tiles_header\" class=\"action_header\"> <div class=\"title\" href=\"javascript:void(0)\"> <a class=\"subtitle\" href=\"javascript:void(0)\"> <div class=\"action_content has_header has_footer\"> <div id=\"photo_tile_holder\" class=\"tile_holder\"> <div id=\"photo_subtile_holder\" class=\"tile_holder\"> <div id=\"photo_tiles_loader\"> <div class=\"icon\"> <div class=\"action_footer\"> <button id=\"photo_tiles_done\" class=\"flatbutton green disabled\">Next <div id=\"okphotos_edit\" class=\"action\"> <div class=\"action_header\"> <div class=\"crop_header\"> <div class=\"title\">Edit thumbnail <div class=\"caption_header\"> <div class=\"title\">Add a caption <div class=\"action_content has_header has_footer\"> <div id=\"okphotos_edit_wrapper\"> <img id=\"okphotos_photo\"/> <div id=\"okphotos_edit_actions\" class=\"action_footer okform\"> <textarea id=\"photo_caption\" placeholder=\"Say something about your photo\" maxlength=\"100\"> <a id=\"okphotos_edit_next\" class=\"flatbutton green\">Done <div id=\"okphotos_finished\" class=\"action\"> <div class=\"content\"> <div class=\"action_content\"> <div class=\"reassurance\">You look great! <img id=\"okphotos_cropped_photo\"/> <button id=\"upload_another\" class=\"flatbutton blue\"> Add more <a href=\"javascript:;\" id=\"done_uploading\"> I\u2019m Done <div id=\"okphotos_error\" class=\"action\"> <div class=\"action_content\"> <div class=\"content\"> <div class=\"container\"> <div class=\"error_icon\"> <i class=\"icon i-alert\"> <div class=\"message\"> <button class=\"flatbutton white\">Try again <a id=\"okphotos_action_close\" href=\"javascript:void(0)\"> <i class=\"icon i-close\"> <div id=\"mutual_match_modal\" class=\"modal aligncenter noclose mutual_match_modal default_type\"> <div class=\"title_container\"> <h2 class=\"title\">They like you back! <div class=\"desc\">

    Now’s the perfect time to send them a message!

    <div class=\"content \"> <div class=\"userpic theirs\"> <img class=\"hide\" src=\"\" alt=\"A picture of staffrobot\"> <div class=\"userpic users\"> <img src=\"http://k1.okccdn.com/media/img/user/placeholder_2013/pq_160.png\" alt=\"A picture of marsarasaurus\"> <div class=\"drag_area\"> <div class=\"top\"> <div class=\"left\"> <div class=\"right\"> <div class=\"bottom\"> <a class=\"close\" href=\"javascript:void(0)\" onclick=\"Modal.close('mutual_match_modal')\"> <span class=\"icon i-close\"> <div class=\"buttons\"> <div id=\"incognito_promo\" class=\"modal aligncenter incognito-modal incognito-modal-packages default_type no_close\"> <div class=\"content \"> <div class=\"incognito-modal-left\"> <div class=\"incognito-modal-bandit\"> <div class=\"incognito-modal-carousel\"> <div class=\"incognito-modal-slides\"> <div class=\"incognito-modal-slide\"> <h2 class=\"incognito-modal-head\">Get ultimate privacy.
    Go incognito! <p class=\"incognito-modal-body\">Your profile will only be visible to
    people you like or message.

    <div class=\"incognito-modal-slide\"> <h2 class=\"incognito-modal-head\">See but don’t be seen.
    It’s that simple. <p class=\"incognito-modal-body\">Browse freely, your profile won’t appear anywhere—not even in search.

    <div class=\"incognito-modal-slide\"> <h2 class=\"incognito-modal-head\">You’re always in
    complete control. <p class=\"incognito-modal-body\">Revoke a person’s access to your
    profile by unliking or hiding them.

    <div class=\"incognito-modal-slide\"> <h2 class=\"incognito-modal-head\">Craving a bit
    more attention? <p class=\"incognito-modal-body\">We get it. Turn Incognito Mode on
    and off whenever you want!

    <div class=\"incognito-modal-carousel-nav\"> <button class=\"incognito-modal-carousel-nav-button\" data-index=\"0\"> <button class=\"incognito-modal-carousel-nav-button\" data-index=\"1\"> <button class=\"incognito-modal-carousel-nav-button\" data-index=\"2\"> <button class=\"incognito-modal-carousel-nav-button\" data-index=\"3\"> <div class=\"incognito-modal-right\"> <form class=\"incognito-modal-form okform\"> <label id=\"incognito-plan-label-10\" for=\"incognito-plan-10\" class=\"incognito-plan incognito-plan-1\"> <input type=\"radio\" id=\"incognito-plan-10\" name=\"incognito-plan\" value=\"10\" /> 1 month at $19.95 / mo <label id=\"incognito-plan-label-14\" for=\"incognito-plan-14\" class=\"incognito-plan incognito-plan-3\"> <input type=\"radio\" id=\"incognito-plan-14\" name=\"incognito-plan\" value=\"14\" /> 3 months at $14.95 / mo <label id=\"incognito-plan-label-18\" for=\"incognito-plan-18\" class=\"incognito-plan incognito-plan-6\"> <input type=\"radio\" id=\"incognito-plan-18\" name=\"incognito-plan\" value=\"18\" /> 6 months at $9.95 / mo <div class=\"buttons\"> <div class=\"drag_area\"> <div class=\"top\"> <div class=\"left\"> <div class=\"right\"> <div class=\"bottom\"> <a class=\"close\" href=\"javascript:void(0)\" onclick=\"Modal.close('incognito_promo')\"> <span class=\"icon i-close\"> <div id=\"incognito-upsell\" class=\"modal aligncenter stackedbuttons fullbleedheading noclose incognito-upsell default_type no_close\"> <div class=\"heading\"> Thanks for your purchase! <div class=\"content \"> <h2 class=\"incognito-upsell-head\">Want even more power? <p class=\"incognito-upsell-subhead\"> Join A-List and enjoy these additional features.

    <ul class=\"incognito-upsell-list\"> <li class=\"incognito-upsell-list-item\">See who likes you <li class=\"incognito-upsell-list-item\">Advanced Search Filters <li class=\"incognito-upsell-list-item\">More message storage <li class=\"incognito-upsell-list-item\">Message read receipts <li class=\"incognito-upsell-list-item\">and tons more! <div class=\"drag_area\"> <div class=\"top\"> <div class=\"left\"> <div class=\"right\"> <div class=\"bottom\"> <a class=\"close\" href=\"javascript:void(0)\" onclick=\"Modal.close('incognito-upsell')\"> <span class=\"icon i-close\"> <div class=\"buttons\"> <div id=\"boost_purchase_modal\" class=\"modal fixed aligncenter cornerclose selectboosts--withsubs default_type no_close\"> <div class=\"content \"> <div class=\"boostcontent\"> <div class=\"selectboosts-item--pkgs\"> <div class=\"boosticon boosticon-pkgs\">

    Get a full day of activity
    in 15 minutes

    With extra momentum in our algorithms, we’ll show you to more people, faster

    <div class=\"selectboosts-item--subs\"> <div class=\"boosticon boosticon-subs\">

    Sit back and watch your popularity skyrocket.

    With a Boost subscription, you\u2019ll be automatically boosted once a day during peak hours.

    <div class=\"selectboosts\"> <div class=\"selectboosts-type\"> <button class=\"selectboosts-type-option selectboosts-type-pkgs\"> Packages <button class=\"selectboosts-type-option selectboosts-type-subs\"> Subscriptions <form id=\"select_boost_package\" class=\"okform boost-select-form\"> <ul id=\"boostsubs\" class=\"boost-select-list boost-select-subs selectboosts-item--subs\">
  • <input type=\"radio\" id=\"sub10\" value=\"10\" name=\"boostsubs\" checked /> <label class=\"radio\" for=\"sub10\"> 1 month at $19.95 / mo
  • <input type=\"radio\" id=\"sub14\" value=\"14\" name=\"boostsubs\" /> <label class=\"radio\" for=\"sub14\"> 3 months at $14.95 / mo
  • <input type=\"radio\" id=\"sub18\" value=\"18\" name=\"boostsubs\" /> <label class=\"radio\" for=\"sub18\"> 6 months at $9.95 / mo
  • <ul id=\"boostpackages\" class=\"boost-select-list boost-select-packages selectboosts-item--pkgs\">
  • <input type=\"radio\" id=\"pkg3\" value=\"pkg3\" name=\"boostpkgs\" checked=\"checked\" /> <label class=\"radio\" for=\"pkg3\"> 10 boosts for $1.69 each
  • <input type=\"radio\" id=\"pkg2\" value=\"pkg2\" name=\"boostpkgs\" /> <label class=\"radio\" for=\"pkg2\"> 5 boosts for $1.89 each
  • <input type=\"radio\" id=\"pkg1\" value=\"pkg1\" name=\"boostpkgs\" /> <label class=\"radio\" for=\"pkg1\"> 1 boost for $1.99
  • <button class=\"big flatbutton blue boost-buy\"> <span class=\"selectboosts-item--pkgs\"> Boost now <span class=\"selectboosts-item--subs\"> Subscribe <a href=\"javascript:;\" class=\"boost-cancel\">No thanks <div class=\"drag_area\"> <div class=\"top\"> <div class=\"left\"> <div class=\"right\"> <div class=\"bottom\"> <a class=\"close\" href=\"javascript:void(0)\" onclick=\"Modal.close('boost_purchase_modal')\"> <span class=\"icon i-close\"> <div id=\"boost_purchase_success\" class=\"modal aligncenter stackedbuttons fullbleedheading noclose boosts-success default_type no_close\"> <div class=\"heading\"> Thanks for your purchase! <div class=\"content \"> <h2 class=\"boosts-success-head\"> Your Boost subscription
    has begun. <ul class=\"boosts-success-list\"> <li class=\"boosts-success-list-item\"> You\u2019ll receive an automatic Boost to your profile once a day during peak hours. <li class=\"boosts-success-list-item\"> With each boost, you\u2019ll get a full day of activity in just 15 minutes! <div class=\"drag_area\"> <div class=\"top\"> <div class=\"left\"> <div class=\"right\"> <div class=\"bottom\"> <a class=\"close\" href=\"javascript:void(0)\" onclick=\"Modal.close('boost_purchase_success')\"> <span class=\"icon i-close\"> <div class=\"buttons\"> <div class=\"quickview\"> <div class=\"inner\"> <div class=\"quickview-top\"> <div class=\"quickview-top-photo\"> <img class=\"active\" src=\"\"> <a class=\"quickview-top-username\"> <div class=\"quickview-top-demo\"> <div class=\"quickview-top-demo-age\"> <div class=\"quickview-top-demo-location\"> <div class=\"quickview-top-percentage\"> <div class=\"quickview-bottom\"> <div class=\"quickview-arrow\"> <div id=\"quickview_templates\"> <script type=\"text/template\" id=\"profile_quickview_traitstemplate\">\n\t\t<div class=\"qvtraits\">\n\t\t\t<% .each(traits, function(trait) { %>\n\t\t\t\t<div class=\"qvtraits-trait <%- trait.type %>\">\n\t\t\t\t\t<i class=\"okicon i-<%- trait.type == 'positive' ? 'more' : 'less' %>-arrow\">\n\t\t\t\t\t<%- trait.name %>\n\t\t\t\t\n\t\t\t<% }); %>\n\t\t\n\t <script type=\"text/template\" id=\"profile_quickview_tagstemplate\">\n\t\t<div class=\"qvtags\">\n\t\t\t<% .each(tags, function(tag, idx) { %>\n\t\t\t\t<div class=\"qvtags-tag\">\n\t\t\t\t\t<%- idx ? ', ' : '' %>\n\t\t\t\t\t<%- tag %>\n\t\t\t\t\n\t\t\t<% }); %>\n\t\t\n\t <script type=\"text/template\" id=\"profile_quickview_empty_template\">\n\t\t<div class=\"qvempty\">\n\t\t\tNot enough info. Drats!\n\t\t\n\t <div id=\"authtoken_refresh_notice\" class=\"modal fixed alignleft noclose default_type\"> <div class=\"title_container\"> <h2 class=\"title\">This page is out of date <div class=\"content \">

    Refresh the page to get OkCupid working again!

    <div class=\"drag_area\"> <div class=\"top\"> <div class=\"left\"> <div class=\"right\"> <div class=\"bottom\"> <a class=\"close\" href=\"javascript:void(0)\" onclick=\"Modal.close('authtoken_refresh_notice')\"> <span class=\"icon i-close\"> <div class=\"buttons\"> <div id=\"windowshade\" class=\"windowshade-okpay\"> <div id=\"feedback_banner\"> <div class=\"inner\"> <div class=\"quickbuybox\" id=\"incognito_box\" style=\"display:none\"> <div class=\"inner\"> <div class=\"iframewrapper\"> <iframe id=\"incognito_iframe\" name=\"incognito_iframe\" frameborder=\"0\" scrolling=\"no\"> <form id=\"incognito_form\" action=\"https://www.okcupid.com/quickbuy\" method=\"post\" target=\"incognito_iframe\"> <input type=\"hidden\" name=\"product\" value=\"incognito\"/> <input type=\"hidden\" name=\"source\" value=\"http://www.okcupid.com/match?count%3d9%26fromWhoOnline%3d0%26matchOrderBy%3dMATCH%26timekey%3d1%26locid%3d4356642%26custom_search%3d0%26update_prefs%3d1%26mygender%3dM%26sort_type%3d0%26filter1%3d2%252C26%252C32%26low%3d1%26filter3%3d0%252C34%26filter2%3d3%252C25%26discard_prefs%3d1%26sa%3d1%26ajax_load%3d1%26match_card_class%3djust_appended\" /> <input type=\"hidden\" name=\"cf\" value=\",incognito_purchase\"/> <input type=\"hidden\" name=\"prefix\" value=\"http://www.okcupid.com\"/> <input type=\"hidden\" name=\"feature\" value=\"10002\" /> <input type=\"hidden\" name=\"page\" value=\"3\" /> <input type=\"hidden\" name=\"buySubscription\" value=\"1\" /> <input type=\"hidden\" name=\"authcode\" value=\"1,0,1436243304,0xbc4b4a62b2cab439;321b53cb77f9883e1208f23bc5a268c7353162dd\" /> <div class=\"quickbuybox\" id=\"boostsubs_box\" style=\"display:none\"> <div class=\"inner\"> <div class=\"iframewrapper\"> <iframe id=\"boostsubs_iframe\" name=\"boostsubs_iframe\" frameborder=\"0\" scrolling=\"no\"> <form id=\"boostsubs_form\" action=\"https://www.okcupid.com/quickbuy\" method=\"post\" target=\"boostsubs_iframe\"> <input type=\"hidden\" name=\"product\" value=\"boostsubs\"/> <input type=\"hidden\" name=\"source\" value=\"http://www.okcupid.com/match?count%3d9%26fromWhoOnline%3d0%26matchOrderBy%3dMATCH%26timekey%3d1%26locid%3d4356642%26custom_search%3d0%26update_prefs%3d1%26mygender%3dM%26sort_type%3d0%26filter1%3d2%252C26%252C32%26low%3d1%26filter3%3d0%252C34%26filter2%3d3%252C25%26discard_prefs%3d1%26sa%3d1%26ajax_load%3d1%26match_card_class%3djust_appended\" /> <input type=\"hidden\" name=\"cf\" value=\",boostsubs_purchase,boostsubs_cheap_promoonly\"/> <input type=\"hidden\" name=\"prefix\" value=\"http://www.okcupid.com\"/> <input type=\"hidden\" name=\"feature\" value=\"10003\" /> <input type=\"hidden\" name=\"page\" value=\"3\" /> <input type=\"hidden\" name=\"buySubscription\" value=\"1\" /> <input type=\"hidden\" name=\"authcode\" value=\"1,0,1436243304,0xbc4b4a62b2cab439;321b53cb77f9883e1208f23bc5a268c7353162dd\" /> <div id=\"search-overlay-templates class=\"hidden\"> <div id=\"search_overlay_authcode\" class=\"hidden\">1,0,1436243304,0xbc4b4a62b2cab439;321b53cb77f9883e1208f23bc5a268c7353162dd <script type=\"text/template\" class=\"search_overlay_template\">\n\t\t<div id=\"search_overlay_wrapper\" class=\"opensans\">\n\t\t\t<div class=\"search_overlay_section_wrapper content\">\n\t\t\t\t<div class=\"search_overlay_content header\">\n\t\t\t\t\t<span class=\"icon i-magnifier\">\n\t\t\t\t\t<input type=\"text\" placeholder=\"Search by username or interest\" class=\"opensans\" />\n\t\t\t\t\n\t\t\t\t<div class=\"search_overlay_content results clearfix\">\n\t\t\t\t\t<div class=\"column interests\">\n\t\t\t\t\t\t<h2 class=\"interests_header\">Interests\n\t\t\t\t\t\t<ul class=\"search_result_list\">\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"column people\">\n\t\t\t\t\t\t<h2 class=\"people_header\">Usernames\n\t\t\t\t\t\t<ul class=\"search_result_list\">\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t<a href=\"#\" id=\"close_search_overlay\">\n\t\t\t\t<span class=\"icon i-close\">\n\t\t\t\n\t\t\t<div class=\"loader\">\n\t\t\n\t <script type=\"text/template\" class=\"search_overlay_person_link\">\n\t\t
  • \n\t\t\t<a href=\"/profile/<%= person.username %>?cf=search_overlay\" class=\"user_row_item person_link\">\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<td class=\"user_info\">\n\t\t\t\t\t\t\t<p class=\"user_name\">\n\t\t\t\t\t\t\t\t<% secondHalf = person.username.substr(searchTerm.length) %>\n\t\t\t\t\t\t\t\t<% regex = new RegExp(secondHalf + \"$\") %>\n\t\t\t\t\t\t\t\t<span class=\"highlight\"><%= person.username.replace(regex, '') %>\n\t\t\t\t\t\t\t\t<%= secondHalf %>\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t<p class=\"details\"><%= person.details %>

    \n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\t\t<img src=\"<%= person.image %>\" class=\"user_image <%= person.image_class %>\" width=\"82\" height=\"82\" alt=\"An image of <%= person.username %>\" />\n\t\t\t\t\t\t
    \n\t\t\t\n\t\t
  • \n\t <script type=\"text/template\" class=\"search_overlay_no_results\">\n\t\t
  • \n\t\t\t<span class=\"no_results\">No results found\n\t\t
  • \n\t <script type=\"text/template\" class=\"search_overlay_interest_link\">\n\t\t
  • \n\t\t\t<a href=\"/match?add_interest=<%= interest.id %>\" data-id=\"<%= interest.id %>\" class=\"interest_link\">\n\t\t\t\t<span class=\"interest_name\"><%= interest.name %>\n\t\t\t\t<span class=\"interest_count\">\n\t\t\t\t\t<%= interest.num_users_commafied %>\n\t\t\t\t\t <% if (interest.num_users == 1) { %>person<% } else { %>people<% } %>\n\t\t\t\t\n\t\t\t\n\t\t
  • \n\t <script type=\"text/template\" class=\"search_overlay_view_all_people\">\n\t\t
  • \n\t\t\t<a href=\"/match?add_username=<%= username %>\" class=\"view_all_people\" data-search=\"<%= username %>\">View all matches\n\t\t
  • \n\t "} Traceback (most recent call last): File "okc.py", line 11, in for profile in profiles[:10]: File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 192, in getitem return self._handle_slice(item) File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 218, in _handle_slice value = next(iterator) File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 164, in _make_nice_repr_iterator for item in original_iterable: File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/util/fetchable.py", line 282, in fetch text_response = self._fetcher.fetch(start_at=pos) File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/okcupyd/search.py", line 281, in fetch search_html = response.json()['html'] File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/requests/models.py", line 802, in json return json.loads(self.text, **kwargs) File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/simplejson/init.py", line 505, in loads return _default_decoder.decode(s) File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/simplejson/decoder.py", line 370, in decode obj, end = self.raw_decode(s) File "/Users/mosesmccall/.virtualenvs/love_machine/lib/python2.7/site-packages/simplejson/decoder.py", line 400, in raw_decode return self.scan_once(s, idx=_w(s, idx).end()) simplejson.scanner.JSONDecodeError: Expecting value: line 3 column 1 (char 3)

    mosesmc52 commented 9 years ago

    Hi Ivan,

    Do you have any clue why the library is not work?

    Thanks,

    Moses

    colonelpanic8 commented 9 years ago

    it has something to do with your account. doesn't happen on any of my accounts. Are you sure you've gone through all the confirmation steps?

    mosesmc52 commented 9 years ago

    It's unusual issue. I'm don't understand. I searched the settings and couldn't find any issues.

    Anyway, I created another account now everything works fine.

    colonelpanic8 commented 9 years ago

    huh that is bizarre. Not sure why that happened. I also checked it myself on my machines and it happened for me as well.

    mosesmc52 commented 9 years ago

    The only difference I noticed the new account has a different search interface. I'm not sure if that change contributes to the problems with the okcupyd library failing, because I assume the okcupid API remains the same.

    colonelpanic8 commented 9 years ago

    oh that would probably do it.

    okcupid does not have an api. This library works by sort of parsing the html returned by okcupid

    colonelpanic8 commented 9 years ago

    @mosesmc52 Other people are now reporting this issue. Take a look at #63 . I'm going to look in to this more deeply now.

    colonelpanic8 commented 9 years ago

    Hey @mosesmc52 Just thought I'd let you know that this issue has now been resolved in the new alpha version of okcupyd.