myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Вопрос по IP2Country., Требуется доп. информация

Теги
Нет тегов для показа
district
сообщение 8.7.2009, 9:58
Сообщение #1


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Нужна ссылка ( развернутого ответа уж не прошу ) на тему о загрузке, работе, и взаимодействии хаба и файла ip-to-country.csv
Есть задача полностью понять, можно ли его своевольно так сказать модифицировать, и если да, то в каких пределах.
Пока что удалось просто внести новый диапазон и заставить хаб воспринимать файл корректно, но при этом, например, при двух верных кодах RU и RUS и внесенном произвольном непосредственном имени страны, это имя страны по команде
Код
Core.SendToNick("[INT]district", IP2Country.GetCountryName(Core.GetUser("[INT]district",true).sIP) )

хаб отсылает верное ( проверялся тестовый файл ip-to-country.csv с одним-единственным диапазоном ). Где хаб берет это имя?
Если внести совсем некорректную запись - например, RU и пустой второй канти-код, функция отрабатывает, но отсылает полную отсебятину - Южная Корея и т.п, хотя по идее должна возвращать Unknown. Где вот хаб берет эту Южную Корею?
В общем, если кто знаком с темой, дайте ссылку где почитать об этом, интересует любая информация по теме.
Go to the top of the page
+Quote Post
Setuper
сообщение 8.7.2009, 12:53
Сообщение #2


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Посмотри тут: http://board.ptokax.ch/index.php?action=forum
Может найдёшь что-то))
Go to the top of the page
+Quote Post
alex82
сообщение 8.7.2009, 16:00
Сообщение #3


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Чем ломать над этим голову, проще использовать собственную таблицу стран.

Код
tCountry = {
    AU = "Австралия", AT = "Австрия", AZ = "Азербайджан", AX = "Аландские острова", AL = "Албания", DZ = "Алжир",
    UM = "Внешние малые острова (США)", VI = "Американские Виргинские острова", AS = "Американское Самоа",
    AI = "Ангилья", AO = "Ангола", AD = "Андорра", AQ = "Антарктида", AG = "Антигуа и Барбуда", AR = "Аргентина",
    AM = "Армения", AW = "Аруба", AF = "Афганистан", BS = "Багамы", BD = "Бангладеш", BB = "Барбадос", BH = "Бахрейн",
    BZ = "Белиз", BY = "Белоруссия", BE = "Бельгия", BJ = "Бенин", BM = "Бермуды", BG = "Болгария", BO = "Боливия",
    BA = "Босния и Герцеговина", BW = "Ботсвана", BR = "Бразилия", IO = "Британские территории в Индийском океане",
    VG = "Британские Виргинские острова", BN = "Бруней", BF = "Буркина Фасо", BI = "Бурунди", BT = "Бутан",
    VU = "Вануату", VA = "Ватикан", GB = "Великобритания", HU = "Венгрия", VE = "Венесуэла", TL = "Восточный Тимор",
    VN = "Вьетнам", GA = "Габон", HT = "Гаити", GY = "Гайана", GM = "Гамбия", GH = "Гана", GP = "Гваделупа",
    GT = "Гватемала", GN = "Гвинея", GW = "Гвинея-Бисау", DE = "Германия", GI = "Гибралтар", HN = "Гондурас",
    HK = "Гонконг", GD = "Гренада", GL = "Гренландия", GR = "Греция", GE = "Грузия", GU = "Гуам", DK = "Дания",
    CD = "ДР Конго", DJ = "Джибути", DM = "Доминика", DO = "Доминиканская Республика", EU = "Европейский Союз",
    EG = "Египет", ZM = "Замбия", EH = "Западная Сахара", ZW = "Зимбабве", IL = "Израиль", IN = "Индия", ID = "Индонезия",
    JO = "Иордания", IQ = "Ирак", IR = "Иран", IE = "Ирландия", IS = "Исландия", ES = "Испания", IT = "Италия", YE = "Йемен",
    KP = "КНДР", CV = "Кабо-Верде", KZ = "Казахстан", KY = "Каймановы острова", KH = "Камбоджа", CM = "Камерун", CA = "Канада",
    QA = "Катар", KE = "Кения", CY = "Кипр", KG = "Киргизия", KI = "Кирибати", CN = "Китай", CC = "Кокосовые острова",
    CO = "Колумбия", KM = "Коморские Острова", CR = "Коста-Рика", CI = "Кот-д’Ивуар", CU = "Куба", KW = "Кувейт",
    LA = "Лаос", LV = "Латвия", LS = "Лесото", LR = "Либерия", LB = "Ливан", LY = "Ливия", LT = "Литва", LI = "Лихтенштейн",
    LU = "Люксембург", MU = "Маврикий", MR = "Мавритания", MG = "Мадагаскар", YT = "Майотта", MO = "Аомынь", MK = "Македония",
    MW = "Малави", MY = "Малайзия", ML = "Мали", MV = "Мальдивы", MT = "Мальта", MA = "Марокко", MQ = "Мартиника",
    MH = "Маршалловы Острова", MX = "Мексика", MZ = "Мозамбик", MD = "Молдавия", MC = "Монако", MN = "Монголия",
    MS = "Монтсеррат", MM = "Мьянма", NA = "Намибия", NR = "Науру", NP = "Непал", NE = "Нигер", NG = "Нигерия",
    AN = "Нидерландские Антильские острова", NL = "Нидерланды", NI = "Никарагуа", NU = "Ниуэ", NC = "Новая Каледония",
    NZ = "Новая Зеландия", NO = "Норвегия", AE = "ОАЭ", OM = "Оман", CX = "Остров Рождества", CK = "Острова Кука",
    HM = "Херд и Макдональд", PK = "Пакистан", PW = "Палау", PS = "Палестина", PA = "Панама", PG = "Папуа — Новая Гвинея",
    PY = "Парагвай", PE = "Перу", PN = "Острова Питкэрн", PL = "Польша", PT = "Португалия", PR = "Пуэрто-Рико",
    CG = "Республика Конго", RE = "Реюньон", RU = "Россия", RW = "Руанда", RO = "Румыния", US = "США", SV = "Сальвадор",
    WS = "Самоа", SM = "Сан-Марино", ST = "Сан-Томе и Принсипи", SA = "Саудовская Аравия", SZ = "Свазиленд",
    SJ = "Шпицберген и Ян-Майен", MP = "Северные Марианские острова", SC = "Сейшельские Острова", SN = "Сенегал",
    VC = "Сент-Винсент и Гренадины", KN = "Сент-Киттс и Невис", LC = "Сент-Люсия", PM = "Сен-Пьер и Микелон", RS = "Сербия",
    CS = "Сербия и Черногория", SG = "Сингапур", SY = "Сирия", SK = "Словакия", SI = "Словения", SB = "Соломоновы Острова",
    SO = "Сомали", SD = "Судан", SR = "Суринам", SL = "Сьерра-Леоне", SU = "СССР", TJ = "Таджикистан", TH = "Таиланд",
    TW = "Тайвань", TZ = "Танзания", TG = "Того", TK = "Токелау", TO = "Тонга", TT = "Тринидад и Тобаго", TV = "Тувалу",
    TN = "Тунис", TM = "Туркмения", TR = "Турция", UG = "Уганда", UZ = "Узбекистан", UA = "Украина", UY = "Уругвай",
    FO = "Фарерские острова", FM = "Микронезия", FJ = "Фиджи", PH = "Филиппины", FI = "Финляндия", FK = "Фолклендские острова",
    FR = "Франция", GF = "Французская Гвиана", PF = "Французская Полинезия", TF = "Французские Южные и Антарктические Территории",
    HR = "Хорватия", CF = "ЦАР", TD = "Чад", ME = "Черногория", CZ = "Чехия", CL = "Чили", CH = "Швейцария", SE = "Швеция",
    LK = "Шри-Ланка", EC = "Эквадор", GQ = "Экваториальная Гвинея", ER = "Эритрея", EE = "Эстония", ET = "Эфиопия", ZA = "ЮАР",
    KR = "Республика Корея", GS = "Южная Георгия и Южные Сандвичевы острова", JM = "Ямайка", JP = "Япония", BV = "Остров Буве",
    NF = "Остров Норфолк", SH = "Остров Святой Елены", TC = "Тёркс и Кайкос", WF = "Уоллис и Футуна",
}
Go to the top of the page
+Quote Post
district
сообщение 8.7.2009, 16:14
Сообщение #4


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Да это мной уже недели две как реализовано. Но надо же и о людях подумать - не все сумеют разобраться и задействовать такую таблицу, а положить файл ip-to-country.csv в папку cfg и рестартнуть хаб - это по плечу многим big_smile.gif

Вот кстати и таблицы - таблица диапазонов и таблица метаданных. Людям знающим, думаю, пояснений не требуется ))

( Прикрепленные для примера таблицы были удалены 10.07.09, т к вопрос о применении или неприменении термина "метаданные" считаю исчерпанным и тут был выложен непосредственно скрипт, создающий эти таблицы).
Go to the top of the page
+Quote Post
Setuper
сообщение 8.7.2009, 17:14
Сообщение #5


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Всё же лучше вместо слова "метаданные" использовать слово "подтаблица", для того, чтобы не вводить в заблуждение читающих.
Метатаблицы и метаданные в lua имеют особый смысл. А тут подразумевается подтаблица.
big_smile.gif
Go to the top of the page
+Quote Post
district
сообщение 8.7.2009, 17:39
Сообщение #6


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Тут подразумевается ( и имеется ) именно таблица метаданных. Это ясно любому, кто даст себе труд распаковать архив, и посмотреть, что там. Таблица метаданных с именем страны содержит правильное ( не капсовое ) имя страны, два кантри кода и число диапазонов. Основная таблица содержит только чистые, рассортированные диапазоны в числовом виде и синтаксисе Lua - можно подключать и юзать.
Метатаблицы изначально использовались в скрипте, но выяснилось, что в их использовании нет особой необходимости.
Go to the top of the page
+Quote Post
Setuper
сообщение 8.7.2009, 17:48
Сообщение #7


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Метаданные в lua - это данные, которые содержатся в метатаблице.
Поэтому я и предложил изменить терминологию на подтаблицу что бы не было путаницы.


Цитата
Lua использует мощную концепцию таблиц метаданных, что, помимо всего прочего, помогает ему преодолеть окончательный отрыв от объектно-ориентированного программирования. Таблица метаданных это обычная таблица в Lua, которая присоединена к данной таблице с помощью встроенной функции setmetatable. Lua использует таблицы метаданных для нескольких специальных функций контроля работы связанных таблиц.


Так как в файлах синтаксис lua, то термин метаданные имеет ОСОБЫЙ смысл.
Go to the top of the page
+Quote Post
district
сообщение 8.7.2009, 18:00
Сообщение #8


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




По логике, "подтаблица" - это, по сути, субтаблица.
Таблица - tTable, подтаблица ( субтаблица ) - tTable.tSubTable.
Приложенные же таблицы связаны между тобой только по смыслу, но никак не физически.
А о смысле слова "метаданные" можно почитать тут

Цитата
Структурированные данные, представляющие собой характеристики описываемых сущностей для целей их идентификации, поиска, оценки, управления ими


В нашем случае "сущность" - это сумма всех диапазонов страны. А метаданные - это ее метаданные ( о составе таблиц метаданных см.выше ).
Go to the top of the page
+Quote Post
Setuper
сообщение 8.7.2009, 18:12
Сообщение #9


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Ещё раз повторяю, что из-за того, что используется синтаксис lua, понятие метаданные приобретает другой смысл, отличный от обычного)))

Тогда уж прости пиши: таблицы с данными.
big_smile.gif

Так как я очень много имел дела с метатаблицами и метаданными, то как только кто-либо говорит мне эти слова, я сразу же лезу в файлы и смотрю действительно ли эти слова обоснованы. Поэтому в lua контексте следует избегать использования этих слов во избежании неправильного понимания lua программистами.

В общем я думаю, что хватит оффтопить big_smile.gif Однако, я просто хотел чтобы на это обратили внимание big_smile.gif
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Вопрос по функции
0 000000 4 476 7.1.2018, 12:55 Посл. сообщение: 000000
No New Posts Важный вопрос
6 000000 8 737 2.9.2016, 10:33 Посл. сообщение: Артём
No New Posts Важный вопрос!
0 000000 5 115 16.8.2016, 1:28 Посл. сообщение: 000000
No New Posts Topic has attachmentsIP2Country
База адресов
12 Enyby 15 911 4.3.2016, 21:12 Посл. сообщение: dimetro
No New Posts От: вопрос по NMDC.
От темы с ID: 4932
0 MIKHAIL 5 536 25.1.2013, 19:48 Посл. сообщение: MIKHAIL
No New Posts Вопрос по регулярным выражениям (не относится к lua)
1 Accelerator 7 638 22.12.2012, 18:37 Посл. сообщение: Setuper
No New Posts вопрос по NMDC.
.
6 Lamo 13 356 29.5.2012, 19:35 Посл. сообщение: Lamo
No New Posts вопрос
5 kirovograd77 10 579 29.5.2012, 0:08 Посл. сообщение: kirovograd77
No New Posts Вопрос по Написанию Слрипта
1 mmk 5 950 20.5.2012, 13:37 Посл. сообщение: Saymon21
No New Posts Вопрос по регулярным выражениям
4 arktik 7 618 26.1.2012, 13:38 Посл. сообщение: Enyby
No New Posts Вопрос к экспертам по LUA
3 arktik 10 227 21.8.2011, 14:25 Посл. сообщение: arktik
No New Posts Вопрос про AntiFlood
3 arktik 7 950 10.8.2011, 14:29 Посл. сообщение: ShadoWx
No new Вопрос
Вопрос о PtokaX и НетБуке
27 STIVAN 25 874 22.6.2011, 21:36 Посл. сообщение: ustas
No New Posts Вопрос
4 the623 8 751 14.6.2011, 11:38 Посл. сообщение: the623
No New Posts Topic has attachmentsВопрос по доработке срипта StatPX как переделать...
12 Blazer 23 097 26.4.2011, 15:33 Посл. сообщение: Dani

 



RSS Сейчас: 27.11.2024, 1:00