Skip to content

Instantly share code, notes, and snippets.

View serafdev's full-sized avatar

فارس serafdev

View GitHub Profile
[Q(**{k: v}) for k, v in self.request.GET]
if not []:
print("List is empty")
if not "":
print("String is empty")
{
"category__in": [
int(c) for c in self.requests.GET.get("category__in", "").split(",") if c
]
}
from django.db.models import Q
# `/GET /items?name__startswith=Grap&price_gte=300&price__lte=700`
def get_queryset(self):
filters = {
"name__startswith": self.request.GET.get("name__startswith ", ""),
"price__gte": self.request.GET.get("price_gte ", ""),
"price__lte": self.request.GET.get("price__lte", ""),
}
class ListModelMixin(object):
"""
List a queryset.
"""
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
serializer = self.get_serializer(queryset, many=True)
return Response(serializer.data)
@serafdev
serafdev / httpd.md
Created July 5, 2019 15:55
mod_wsgi LoadModule on Apache for Windows

(Not detailed) Installation

First install mod_wsgi from pip, or a precompiled one from https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi Note: cp37 means python 3.7, cp27 means python 2.7, etc, so pick the right one for your platform

Find the installation path of your module with this command:

mod_wsgi-express module-location
> c:\code\jotaro\venv\lib\site-packages\mod_wsgi\server\mod_wsgi.cp37-win_amd64.pyd
@serafdev
serafdev / BQResultSet.scala
Created September 26, 2018 12:32
BigQuery Type Mappers
import java.sql.Timestamp
import java.text.SimpleDateFormat
import java.util.Date
import java.util.concurrent.TimeUnit
import com.google.cloud.bigquery.FieldValueList
trait BQResultSet {
private[this] def getOpt[R](columnName: String, returnValue: String => R)(implicit row: FieldValueList): Option[R] =
@serafdev
serafdev / BQUtils.scala
Last active September 26, 2018 12:26
BigQuery Utils to run Queries and have a StringContext helper that will run the Query and return a Scala List of FieldValueList
import com.google.cloud.bigquery._
import scala.collection.JavaConverters._
object BQUtils {
private[this] def runQuery(queryString: String)(implicit bigQuery: BigQuery): TableResult = {
val queryConfig: QueryJobConfiguration =
QueryJobConfiguration.newBuilder(queryString).setUseLegacySql(false).setUseQueryCache(true).build()
val jobId: JobId = JobId.of(java.util.UUID.randomUUID.toString)
@serafdev
serafdev / SQLTypeBinders.scala
Created September 19, 2018 15:38
Binders examples for scalikejdbc
import scalikejdbc.Binders
trait SQLTypeBinders {
implicit val sqlArrayToIntListBinder: Binders[List[Int]] = {
def sqlArrayToIntList(a: java.sql.Array): List[Int] =
a.getArray.asInstanceOf[Array[AnyRef]].map(_.asInstanceOf[Int]).toList
Binders[List[Int]]((r, i) =>
sqlArrayToIntList(r.getArray(i))
)((r, s) =>