1. Список говнокодов пользователя wvxvw

    Всего: 202

  2. Куча / Говнокод #14323

    +126

    1. 1
    <input type="text" id="tos" name="tos" data-validate="true" class="text-field" tabindex="6"  data-validation-rules="^(https?|ftp):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$" data-validation-msg="Invalid URL" />

    Monkey killing monkey killing monkey
    Over pieces of the ground.
    Silly monkeys give them thumbs,
    They forge a blade,
    And where there's one
    they're bound to divide it,
    Right in two.
    Right in two.


    :'(

    wvxvw, 07 Января 2014

    Комментарии (34)
  3. JavaScript / Говнокод #14310

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    var htmlContent = "<li class='savedAdItem' data-savedid='" +
                        adToAdd.cid + "' title='" +
                        Company.i18n("ads_manager.ClickToSeeDestination") +
                        (adToAdd.get("title") ? adToAdd.get("title") :
                         adToAdd.get("url")) +
                        "' data-url='" + adToAdd.get("url") +
                        "' ><div class='title landing'>" +
                        (adToAdd.get("title") ? adToAdd.get("title") : "URL") +
                        "</div><div class='landingUrl hide'>" +
                        this.getDomainName(adToAdd.get("url")) + "</div>" +
                        (adToAdd.get("imageUrl") ?
                         "<div style='text-align:center;'><img src='" +
                         adToAdd.get("imageUrl") +
                         "' style='max-width: 99px;max-height: 72px;' /></div>" :
                         "<div class='img-target-" + adToAdd.get("targetType") +
                         "'>&nbsp;</div>") +
                        "<div class='btnDelete' title='" +
                        Company.i18n("ads_manager.Remove") +
                        "'></div></li>";

    Ах как хочется найти автора этих строк...

    wvxvw, 02 Января 2014

    Комментарии (176)
  4. Куча / Говнокод #14307

    +126

    1. 1
    shop_manager.WarnCurrentStoreNotTracked = Current store is not tracked. Please <a href="#" onclick="company.load_page(\'analytics/activate.html\', '{'\'{0}\': \'{1}\''}');">activate here</a> to start tracking.

    Файл properties в какой-то спринг-эм-вэ-цэ херне.

    wvxvw, 01 Января 2014

    Комментарии (179)
  5. Куча / Говнокод #14274

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <ul>
      <li data-stage="details"><span>1. Details</span></li>
      <li data-stage="adscreate"><span>2. Creatives</span></li>
      <li data-stage="targets"><span>3. Targeting</span></li>
      <li data-stage="pricing_scheduling" style="width:245px;"><span>4. Pricing &amp; Scheduling</span></li>
      <li data-stage="preview"><span>5. Preview</span></li>
    </ul>

    Ul over Ol!

    wvxvw, 25 Декабря 2013

    Комментарии (1)
  6. Python / Говнокод #14204

    −109

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    import re
    
    _parse_iso.parser = re.compile("""
        ^
        (?P<year> [0-9]{4})(?P<ymdsep>-?)
        (?P<month>[0-9]{2})(?P=ymdsep)
        (?P<day>  [0-9]{2})
    
        (?: # time part... optional... at least hour must be specified
    	(?:T|\s+)
            (?P<hour>[0-9]{2})
            (?:
                # minutes, separated with :, or none, from hours
                (?P<hmssep>[:]?)
                (?P<minute>[0-9]{2})
                (?:
                    # same for seconds, separated with :, or none, from hours
                    (?P=hmssep)
                    (?P<second>[0-9]{2})
                )?
            )?
            
            # fractions
            (?: [,.] (?P<frac>[0-9]{1,10}))?
    
            # timezone, Z, +-hh or +-hh:?mm. MUST BE, but complain if not there.
            (
                (?P<tzempty>Z) 
            | 
                (?P<tzh>[+-][0-9]{2}) 
                (?: :? # optional separator 
                    (?P<tzm>[0-9]{2})
                )?
            )?
        )?
        $
    """, re.X) # """

    Написано вполне уважаемым человеком. Долго не мог прийти в себя, проверил dateutil.parser несколько раз. Всеравно не могу понять зачем это нужно было писать.

    wvxvw, 10 Декабря 2013

    Комментарии (2)
  7. Python / Говнокод #13898

    −105

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    def get_user_profile(self, user_id):
        logging.info('Fetching profile for user: %s' % user_id)
        query = neo4j.CypherQuery(
            self.db,
            """
            CYPHER 1.9
            START user = node({id})
            MATCH
            (user)-[?:follows]->(followed),
            (follower)-[?:follows]->(user)
            RETURN user, followed, follower
            """)
        data = query.execute(id = user_id).data
        if not len(data) == 3: data += (3 * [None])[:3 - len(data)]
        user, followed, followers = data
        user = user.user
        return { 'user': { 'name': user['name'], 'registered': user['registered'] },
                 'followed': followed,
                 'followers': followers }

    Тяжелые последствия оверинжиниринга.
    Пояснение: ответ от базы данных уже приходит в джинсах, но нельзя ж так просто взять и...

    wvxvw, 05 Октября 2013

    Комментарии (1)
  8. Python / Говнокод #13891

    −105

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    def read(self):
            self._skip_whitespace()
            ch = self._peek()
            if ch in ',:[]{}':
                return self._read(), None
            elif ch == 'n':
                return self._read_literal('null'), None
            elif ch == 't':
                return self._read_literal('true'), True
            elif ch == 'f':
                return self._read_literal('false'), False
            elif ch == '"':
                return self._read_string()
            elif ch in '-0123456789':
                return self._read_number()
            else:
                raise UnexpectedCharacter(ch)

    Просто взять и уебать таких писателей. httpstream/jsonstream.py

    wvxvw, 03 Октября 2013

    Комментарии (32)
  9. JavaScript / Говнокод #13597

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    this.startAdLoading = function(callback) {
    this.adCallback = callback;
    
    Array.prototype.remove = function(from, to) {
      var rest = this.slice((to || from) + 1 || this.length);
      this.length = from < 0 ? this.length + from : from;
      return this.push.apply(this, rest);
    };
    ...
    }

    Очень полезный метод добавили массивам. Все тот же источник.

    wvxvw, 12 Августа 2013

    Комментарии (131)
  10. JavaScript / Говнокод #13571

    +150

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    this.getMediaFileWithMaxBitrate = function(streamIndex, maxBitrate) {
    		var streamItem = this.playlist[streamIndex];
    		var urls = streamItem.urls;
    		var resultBitrate = 0;
    		var highestBitrate = 2000;
    		var lowestBitrate = 800;
    		//var resultUrl = urls[0].url;
    		var resultUrl = "";
    		//v2.1
    		// Util.log("##########################getMediaFileWithMaxBitrate ####################");
    		// Util.log("take the highest of the bitrate range from"
            //          +lowestBitrate+" to "+highestBitrate+" Mbps else");
    		for (var i = 0; i < urls.length; i++) {
    			if(urls[i].type == "video/mp4"){
    				if (urls[i].bitrate >= lowestBitrate &&
                        urls[i].bitrate <= highestBitrate && urls[i].bitrate > resultBitrate) {
    					resultUrl = urls[i].url;
    					resultBitrate = urls[i].bitrate;
    					// Util.log(">> " + urls[i].bitrate + " " + urls[i].url);
    				}
    			}
    		}
    		if (resultUrl == "") {
    			// Util.log("If there is no MediaFile with type �video/mp4�" +
    			// "within this range ("+lowestBitrate+"-"+highestBitrate+
                //          "Mbps) take the next highest MediaFile");
    			for (var i = 0; i < urls.length; i++) {
    				if (urls[i].type == "video/mp4") {
    					if (urls[i].bitrate > highestBitrate &&
                            (urls[i].bitrate < resultBitrate || resultBitrate == 0)) {
    						resultUrl = urls[i].url;
    						resultBitrate = urls[i].bitrate;
    						// Util.log(">> " + urls[i].bitrate + " " + urls[i].url);
    					}
    				}
    			}
    		}
    		if (resultUrl == "") {
    			// Util.log("If there is no higher MedieFile with type" +
                //          "�video/mp4� take the next lowest MedieFile");
    			for (var i = 0; i < urls.length; i++) {
    				if(urls[i].type == "video/mp4"){
    					if (urls[i].bitrate < lowestBitrate && urls[i].bitrate > resultBitrate) {
    						resultUrl = urls[i].url;
    						resultBitrate = urls[i].bitrate;
    						//Util.log(">> " + urls[i].bitrate + " " + urls[i].url);
    					}
    				}
    			}
    		}
    		if (resultUrl == "" && urls[0].type == "video/mp4") {
    			resultUrl = urls[0].url;
    		}
    		// Util.log(">>>>>>>>>>>>>> AdController.getMediaFileWithMaxBitrate " +
            //          maxBitrate + " " + resultBitrate + " " + resultUrl);
    		return resultUrl;
    	};

    Замечательный алгоритм поиска видео более-менее соответствующего критерию "битрейт в диапазоне [а, б], либо первый в (б, *), либо последний в (*, а)".

    wvxvw, 08 Августа 2013

    Комментарии (7)
  11. JavaScript / Говнокод #13555

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ;(function ($) {
    
    // alias Math methods - used a lot!
    var	min		= Math.min
    ,	max		= Math.max
    ,	round	= Math.floor

    lol

    wvxvw, 06 Августа 2013

    Комментарии (64)