+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 23/08/13 в 01:16 |
Всем привет, помогу за спасибо , а именно напишу скрипт на php, python или помогу с вопросом по серваку.
|
|
|
|
С нами с 22.05.03
Сообщения: 1405
Рейтинг: 843
|
Добавлено: 23/08/13 в 03:37 |
с чего такая щедрость?
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 23/08/13 в 23:23 |
Просто так, дела наладились, да и пофану покодить.
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 23/08/13 в 23:47 |
Охота покодить - фантастика
По питону, если не решение, то консультация на логику исполнения.
Есть django-cms . Нужна фидбак форма, отсылающая майл юзеру и админу.
Но ... форма может быть вставлена на разные страницы, и с каждой страницы форма шлет разный текст.
Т.е. как представляю, надо как то привязать модель к адресу страницы, и модели уже указывать, какие тексты на той или иной странице. Но как сделать привязку - не представляю.
Пока вижу только решение задавать в модели адрес страницы и регекспом вытягивать соответствующий. Модель соответственно через django управляется в админке.
Или если выше сказанное бред, то какое наиболее простое решение задачи ?
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 21.10.09
Сообщения: 267
Рейтинг: 408
|
Добавлено: 27/10/14 в 19:05 |
Привет!
Напиши, пожалуйста, скриптик (уверен, кому-нибудь ещё пригодится): batch rearch&replace по списку соответствия, т.е.
- Имеем папку с файлами, которые нужно обработать: позаменять слова по списку соответствия, который лежит допустим в файле search-replace.txt, а в нем:
apple|cherry
red|green
light|dark
и т.п. То есть заменяем огромный массив слов - 10-20к соответствий. Ну и сохранить куда угодно.
Спасибо.
|
|
|
|
С нами с 27.02.03
Сообщения: 345
Рейтинг: 211
|
Добавлено: 29/10/14 в 05:13 |
мож тебе постоянная работа нужна ?
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 31/10/14 в 15:05 |
MattCutts: ок, файл с "найти|заменить" и папка с файлами в которых все это надо сделать?
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 31/10/14 в 15:06 |
langust: возможно, а то панда 3 хорошо так нагнула.
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 31/10/14 в 15:07 |
Stek: я джангу юзал на 5 курсе, лет 8 назад. Я больше по ФЛАСКУ.
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 31/10/14 в 15:12 |
Судя по скорости ответа, ты больше по транквилизаторам
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 31/10/14 в 15:17 |
Stek: сори, я помню этот вопрос но мне показалось ты мне его в аську или жабу писал.
|
|
|
|
С нами с 21.10.09
Сообщения: 267
Рейтинг: 408
|
Добавлено: 31/10/14 в 18:12 |
Дартаньян писал: | MattCutts: ок, файл с "найти|заменить" и папка с файлами в которых все это надо сделать? |
Не понял вопроса. Эти две вещи уже есть: папка с обрабатываемыми файлам и файлик с правилами замены. Суть в том, что файлик замены может быть очень большим, например, пару мегабайт - это дофига замен, учитывая, что нужно пройтись по всем файлам из папки.
|
|
|
|
С нами с 27.02.03
Сообщения: 345
Рейтинг: 211
|
Добавлено: 01/11/14 в 01:12 |
Stek писал: | Судя по скорости ответа, ты больше по транквилизаторам |
врятли. они держат совсем недолго. делаю ставку на нейролептики )
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 01/11/14 в 01:26 |
MattCutts: не проблема, будет тебе завтра главное чтоб оперативки хватило.
langust: ну практически, фезамы там всякие и прочее ноотропы.
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 01/11/14 в 14:25 |
MattCutts:
Пробуй, но бекап рекомендую сделать малоли что не так.
запускаешь так python file.py key.txt /tmp/dir/
Код: [развернуть] |
#!/usr/bin/env python2.7
#-*- coding: utf-8 -*-
import sys, os
rkeys = [(x.strip().split("|")) for x in open(sys.argv[1])]
for ndir in os.listdir(sys.argv[2]):
with open(sys.argv[2] + '/' + ndir, 'r') as rfile:
data = "".join(rfile.readlines())
for rkey in rkeys:
data = data.replace(rkey[0], rkey[1])
with open(sys.argv[2] + '/' + ndir, 'w') as wfile:
print data
wfile.write(data)
wfile.flush()
|
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 01/11/14 в 22:08 |
MattCutts: ты это напиши если все ок да репу +.
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 03/11/14 в 12:54 |
пишу функцию для выдачи результата
имеем:
дамп
Код: |
urlPage|image|lee|blue|men|classic
urlPage|image|lee|dark|men|strite
urlPage|image|lee|dark|men|classic
urlPage|image|lee|blue|women|boyfrend
urlPage|image|montana|dark|women|Slim
urlPage|image|montana|grey|women|kapri
urlPage|image|montana|darkblue|men|bootcut
urlPage|image|levis|red|women|original
urlPage|image|котопес|красный|детское|оригинал
|
массив категорий (который может потом меняться, ключи массива это поряджковый номер столбца дампа начиная с 0)
Код: |
$arrayCategoryMenu = array(2 => "brand#Бренд", 3 => "color#Цвет", 4 => "sex#Пол", 5 => "style#Стиль");
|
по средствам чекбоксов делаем запрос на выборку
в функцию отдаем многомерный массив пример
Код: | Array
(
[2] => Array
(
[0] => lee
[1] => montana
[2] => levis
[3] => котопес
)
[3] => Array
(
[0] => blue
[1] => grey
)
[4] => Array
(
[0] => women
)
[5] => Array
(
[0] => strite
[1] => boyfrend
)
) |
результат должен быть массив, элементы массива это строка или строки дампа
т.е. в данном случае это
Array
(
[0] => urlPage|image|lee|blue|women|boyfrend
)
вот такой код у меня получился на данным момент, так скажем наработки, но им можно выбирать только из одной категории либо, что-то из брендов, либо из цветов, стилей или пола.
Код: [развернуть] | function showResultSearch($arrayQuery, $pathFileDump){
// $arrayQuery - массив запросов
// $pathFileDump - путь к файлу дампа с данными
$flag = 0;
$resultArray = array();
foreach ($arrayQuery as $keyCat => $arrQueryCat) {
if (!empty($arrQueryCat)) {
$flag++;
foreach ($arrQueryCat as $queryCat) {
$arrayDump = file($pathFileDump);
if ($flag <= 1){
foreach ($arrayDump as $strDump) {
$strDump = trim($strDump);
$arrayStrDump = explode("|", $strDump);
if ($arrayStrDump[$keyCat] == $queryCat) {
$resultArray[] = $strDump;
}
}
}else{
foreach ($resultArray as $strDump) {
$strDump = trim($strDump);
$arrayStrDump = explode("|", $strDump);
if ($arrayStrDump[$keyCat] == $queryCat) {
$resultArray[] = $strDump;
}
}
}
}
}
}
echo "<pre>";
print_r($resultArray);
echo "</pre>";
} |
каждая последующая выборка по категориям должна проходить уже из отфильтрованного массива данных, но т.к. предыдущее не удаляется, а остается получается некое наслоение и в результате неправильная фильтрация.
Так же хотелось сделать универсальную функцию, в том смысле, если кол-во категорий вырастет, чтоб не менять функцию.
Х.з. возможно ли это, но буду благодарен за помощь.
|
|
|
|
С нами с 21.10.09
Сообщения: 267
Рейтинг: 408
|
Добавлено: 03/11/14 в 13:41 |
Дартаньян писал: | MattCutts: ты это напиши если все ок да репу +. |
Спасибо, бро! Сегодня протестирую на сервере.
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 03/11/14 в 16:11 |
Lexikon: ага, понял суть стукни в скайп или аську.
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 03/11/14 в 19:06 |
вроде сделал.
Похоже, что первоначально стал подавать неправильно информацию, вынес один из циклов за пределы функции, и немного по другому сделал запрос в функцию и всё стало работать как нужно. Но надо еще потестить.
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 03/11/14 в 19:10 |
сама функция:
Код: |
function showResultSearch($arrQuerySubCategory, $keyCategory, $arrFileDump){
foreach ($arrQuerySubCategory as $strNameSubCategory) {
foreach ($arrFileDump as $strFileDump) {
$strFileDump = trim($strFileDump);
$arrStrFileDump = explode("|", $strFileDump);
if ($strNameSubCategory == $arrStrFileDump[$keyCategory]) {
$resultArray[] = $strFileDump;
}
}
}
if (@!$resultArray) {
$resultArray = array();
return $resultArray;
}else{
return $resultArray;
}
}
|
сам код где применяется эта функция
Код: |
<?php
header("Content-Type: text/html; charset=UTF-8");
require_once("./functions.php");
require_once("./config.php");
//echo "<pre>";
//print_r(searchByDump($arrayCategoryMenu));
//echo "</pre>";
$arrayQuery = searchByDump($arrayCategoryMenu);
$arrFileDump = file($pathFileDump);
foreach ($arrayQuery as $keyCategory => $arrQuerySubCategory) {
if (!empty($arrQuerySubCategory)) {
$arrFileDump = showResultSearch($arrQuerySubCategory, $keyCategory, $arrFileDump);
}
}
if (empty($arrFileDump)) {
echo "SORRY!";
}else{
echo "<pre>";
print_r($arrFileDump);
echo "</pre>";
}
?>
|
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 04/11/14 в 19:04 |
MattCutts: чё как?
Lexikon: скину тебе чуть позже более компактный код, кстати почему бы не заюзать sed?
|
|
|
|
С нами с 09.07.09
Сообщения: 38
Рейтинг: 41
|
Добавлено: 07/11/14 в 23:45 |
Помог чётко, спасибо чувак , удачи.
|
|
|
|
Be easy
С нами с 17.07.04
Сообщения: 968
Рейтинг: 550
|
Добавлено: 16/11/14 в 19:02 |
помог подправить пару строк, спасибо
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 17/11/14 в 07:45 |
что за мастурбатор в топике всех минусует
|
|
|
|