Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Помощь Даром!
Новая тема
Ответить
цитата
23/08/13 в 01:16
Дартаньян
Всем привет, помогу за спасибо
, а именно напишу скрипт на php, python или помогу с вопросом по серваку.
цитата
23/08/13 в 03:37
fihorn
с чего такая щедрость?
цитата
23/08/13 в 23:23
Дартаньян
Просто так, дела наладились, да и пофану покодить.
цитата
23/08/13 в 23:47
Stek
Охота покодить - фантастика
По питону, если не решение, то консультация на логику исполнения.
Есть django-cms . Нужна фидбак форма, отсылающая майл юзеру и админу.
Но ... форма может быть вставлена на разные страницы, и с каждой страницы форма шлет разный текст.
Т.е. как представляю, надо как то привязать модель к адресу страницы, и модели уже указывать, какие тексты на той или иной странице. Но как сделать привязку - не представляю.
Пока вижу только решение задавать в модели адрес страницы и регекспом вытягивать соответствующий. Модель соответственно через django управляется в админке.
Или если выше сказанное бред, то какое наиболее простое решение задачи ?
цитата
27/10/14 в 19:05
MattCutts
Привет!
Напиши, пожалуйста, скриптик (уверен, кому-нибудь ещё пригодится): batch rearch&replace по списку соответствия, т.е.
- Имеем папку с файлами, которые нужно обработать: позаменять слова по списку соответствия, который лежит допустим в файле search-replace.txt, а в нем:
apple|cherry
red|green
light|dark
и т.п. То есть заменяем огромный массив слов - 10-20к соответствий. Ну и сохранить куда угодно.
Спасибо.
цитата
29/10/14 в 05:13
langust
мож тебе постоянная работа нужна ?
цитата
31/10/14 в 15:05
Дартаньян
MattCutts:
ок, файл с "найти|заменить" и папка с файлами в которых все это надо сделать?
цитата
31/10/14 в 15:06
Дартаньян
langust:
возможно, а то панда 3 хорошо так нагнула.
цитата
31/10/14 в 15:07
Дартаньян
Stek:
я джангу юзал на 5 курсе, лет 8 назад. Я больше по ФЛАСКУ.
цитата
31/10/14 в 15:12
Stek
Судя по скорости ответа, ты больше по транквилизаторам
цитата
31/10/14 в 15:17
Дартаньян
Stek:
сори, я помню этот вопрос но мне показалось ты мне его в аську или жабу писал.
цитата
31/10/14 в 18:12
MattCutts
Дартаньян писал:
MattCutts:
ок, файл с "найти|заменить" и папка с файлами в которых все это надо сделать?
Не понял вопроса. Эти две вещи уже есть: папка с обрабатываемыми файлам и файлик с правилами замены. Суть в том, что файлик замены может быть очень большим, например, пару мегабайт - это дофига замен, учитывая, что нужно пройтись по всем файлам из папки.
цитата
01/11/14 в 01:12
langust
Stek писал:
Судя по скорости ответа, ты больше по транквилизаторам
врятли. они держат совсем недолго. делаю ставку на нейролептики )
цитата
01/11/14 в 01:26
Дартаньян
MattCutts:
не проблема, будет тебе завтра главное чтоб оперативки хватило.
langust:
ну практически, фезамы там всякие и прочее ноотропы.
цитата
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()
цитата
01/11/14 в 22:08
Дартаньян
MattCutts:
ты это напиши если все ок да репу +.
цитата
03/11/14 в 12:54
Lexikon
пишу функцию для выдачи результата
имеем:
дамп
Код:
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>";
}
каждая последующая выборка по категориям должна проходить уже из отфильтрованного массива данных, но т.к. предыдущее не удаляется, а остается получается некое наслоение и в результате неправильная фильтрация.
Так же хотелось сделать универсальную функцию, в том смысле, если кол-во категорий вырастет, чтоб не менять функцию.
Х.з. возможно ли это, но буду благодарен за помощь.
цитата
03/11/14 в 13:41
MattCutts
Дартаньян писал:
MattCutts:
ты это напиши если все ок да репу +.
Спасибо, бро! Сегодня протестирую на сервере.
цитата
03/11/14 в 16:11
Дартаньян
Lexikon:
ага, понял суть стукни в скайп или аську.
цитата
03/11/14 в 19:06
Lexikon
вроде сделал.
Похоже, что первоначально стал подавать неправильно информацию, вынес один из циклов за пределы функции, и немного по другому сделал запрос в функцию и всё стало работать как нужно. Но надо еще потестить.
цитата
03/11/14 в 19:10
Lexikon
сама функция:
Код:
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>";
}
?>
цитата
04/11/14 в 19:04
Дартаньян
MattCutts:
чё как?
Lexikon:
скину тебе чуть позже более компактный код, кстати почему бы не заюзать sed?
цитата
07/11/14 в 23:45
Мачете
Помог чётко, спасибо чувак , удачи.
цитата
16/11/14 в 19:02
Peper
помог подправить пару строк, спасибо
цитата
17/11/14 в 07:45
Lexikon
что за мастурбатор в топике всех минусует
Стр.
1
,
2
,
3
>
последняя »
Новая тема
Ответить
Эта страница в полной версии